- 浏览: 23333 次
- 性别:
- 来自: 北京
最新评论
实现文件的上传可以有好多途径,最简单的就是用sun公司提供的File类,可以简单的实现文件的上传和显示:
try {
InputStream stream = file.getInputStream();//把文件读入
Savefilepath = request.getRealPath("/upload");//将文件存放在当前系统路径的哪个文件夹下
Savefilename = getNewFilename(file.getFileName());
Savefilepath = Savefilepath + "\\" + Savefilename;
OutputStream bos = new FileOutputStream(Savefilepath);//建立一个上传文件的输出流
int bytesRead = 0;
byte[] buffer = new byte[10*1024];
while ( (bytesRead = stream.read(buffer, 0, 10240)) != -1) {
bos.write(buffer, 0, bytesRead);//将文件写入服务器的硬盘上
}
bos.close();
stream.close();
}catch(Exception e){
e.printStackTrace();
}
2:
简单的代码如下,于此同时有一个很简单的扩展的jspsmart很好用,他是封装好的一些上传的组建,做一些上传的优化,下面就是简单实现上传的例子:
上传页面:
<html>
<head>
<title>smartupload</title>
</head>
<body>
<form action="smartupload02.jsp" method="post" enctype="multipart/form-data">
上传的图片:<input type="file" name="pic">
<input type="submit" value="上传">
</form>
</body>
</html>
处理页面:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<jsp:useBean id="smartupload" class="org.lxh.smart.SmartUpload"/>
<html>
<head>
<title>smartupload</title>
</head>
<body>
<%
smartupload.initialize(pageContext) ; // 初始化上传
smartupload.upload() ; // 准备上传
smartupload.save("upload") ; // 保存文件
%>
</body>
</html>
3:
最后就是servlet3.0的新特性里面的上传文件的新特性,他则是采用part来实现的,下面是简单的例子:
package com.simple;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import com.sun.xml.ws.wsdl.parser.Part;
public class uploadServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
Part part = request.getPath("file");
String name = part.getName();
String url = request.getSession().getServletContext().getRealPath("/upload");
String reqName = request.getHeader("content-disposition");
String fileName = reqName.substring(reqName.lastIndexOf("=")+2, reqName.length()-1);
part.write(url+"/"+fileName);
}
}
try {
InputStream stream = file.getInputStream();//把文件读入
Savefilepath = request.getRealPath("/upload");//将文件存放在当前系统路径的哪个文件夹下
Savefilename = getNewFilename(file.getFileName());
Savefilepath = Savefilepath + "\\" + Savefilename;
OutputStream bos = new FileOutputStream(Savefilepath);//建立一个上传文件的输出流
int bytesRead = 0;
byte[] buffer = new byte[10*1024];
while ( (bytesRead = stream.read(buffer, 0, 10240)) != -1) {
bos.write(buffer, 0, bytesRead);//将文件写入服务器的硬盘上
}
bos.close();
stream.close();
}catch(Exception e){
e.printStackTrace();
}
2:
简单的代码如下,于此同时有一个很简单的扩展的jspsmart很好用,他是封装好的一些上传的组建,做一些上传的优化,下面就是简单实现上传的例子:
上传页面:
<html>
<head>
<title>smartupload</title>
</head>
<body>
<form action="smartupload02.jsp" method="post" enctype="multipart/form-data">
上传的图片:<input type="file" name="pic">
<input type="submit" value="上传">
</form>
</body>
</html>
处理页面:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<jsp:useBean id="smartupload" class="org.lxh.smart.SmartUpload"/>
<html>
<head>
<title>smartupload</title>
</head>
<body>
<%
smartupload.initialize(pageContext) ; // 初始化上传
smartupload.upload() ; // 准备上传
smartupload.save("upload") ; // 保存文件
%>
</body>
</html>
3:
最后就是servlet3.0的新特性里面的上传文件的新特性,他则是采用part来实现的,下面是简单的例子:
package com.simple;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import com.sun.xml.ws.wsdl.parser.Part;
public class uploadServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
Part part = request.getPath("file");
String name = part.getName();
String url = request.getSession().getServletContext().getRealPath("/upload");
String reqName = request.getHeader("content-disposition");
String fileName = reqName.substring(reqName.lastIndexOf("=")+2, reqName.length()-1);
part.write(url+"/"+fileName);
}
}
发表评论
-
两个对象值相同(x.equals(y)== true),但却可有不同的hashcode,这句话对不对?
2014-09-26 10:20 856对。 如果对象要保存在HashSet或HashMap中,它们 ... -
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014-09-26 10:21 680Set里的元素是不能重复的,元素重复与否是使用equals() ... -
去掉一个Vector集合中重复的元素
2014-09-28 10:17 1255Vector newVector =new Vector(); ... -
说出ArrayList,Vector,LinkedList的存储性能和特性
2014-09-28 10:19 873ArrayList和Vector都是使用数组方式存储数据,此数 ... -
List、Map、Set三个接口,存取元素时,各有什么特点?
2014-09-28 10:19 570List 以特定次序来持有元素,可有重复元素。Set 无法拥有 ... -
List, Set, Map是否继承自Collection接口?
2014-09-28 10:20 789List,Set是,Map不是 -
set、List和Map的区别
2014-09-28 10:20 382一个是存储单列数据的集合,另一个是存储键和值这样的双列数据的集 ... -
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许.总之有三条:
2014-09-29 10:56 2053一.历史原因:Hashtable是基于陈旧的Dictionar ... -
HshMap和Hashtable的区别
2014-09-25 10:54 521HashMap是Hashtable的轻量级实现(非线程安全的实 ... -
ArrayList和Vector的区别?
2014-09-25 10:47 530这两个类都实现了List接口,List接口继承了Collect ... -
Collection框架中实现比较要实现什么接口?
2014-09-25 10:45 1042Comparable/comparator -
Collection和Collections区别
2014-09-25 10:41 564Collection是集合框架,集合框架(Collection ... -
5个runtime exception
2014-09-24 16:08 619请写出你最常见到的5个runtime exception . ... -
sleep和wait有什么区别
2014-09-24 15:52 515sleep和wait有什么区别 ... -
抽象与封装区别-转
2014-09-18 11:40 719抽象 处理大而复杂的问题的重要手段是抽象,强调事物本质的东西 ...
相关推荐
2项目为实现文件上传的三种方式的源码,详细说明见我的博客。 jsp_upload-servlet项目:(1).Jsp/servlet 实现文件上传 (2).模拟Post请求/servlet 实现文件上传 jetty_upload-springmvc项目:(3).模拟Post请求/...
标题提到的"java上传文件jar"实际上指的是两个关键的Java库,它们是Apache Commons IO和Apache Commons FileUpload。这两个库提供了强大的文件操作和文件上传功能,是Java开发者处理文件上传问题的得力助手。 首先...
SmartUpload是一个Java上传组件,它简化了文件上传的处理过程。在JSP页面中,我们可以使用SmartUpload提供的标签库来创建上传界面。在Servlet中,初始化SmartUpload对象,调用其`upload()`方法解析上传请求,然后...
java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件...
总之,Java上传文件到SharePoint是一个涉及网络通信、文件操作和认证授权的复杂过程。理解并掌握这些概念,结合适当的工具或库,可以有效地实现文件在Java应用和SharePoint之间的传输。在阅读给定的博客文章...
"Java 实现上传文件类型检测过程解析" Java 实现上传文件类型检测过程解析是指在进行文件上传时,对上传文件的格式进行控制,以防止黑客将病毒脚本上传。单纯的将文件名的类型进行截取的方式非常容易遭到破解,...
(3)单击“上传客服端”窗口中的“测试”按钮,如果弹出“连接成功”界面,那就说明你可以上传文件了。 (4)单击“上传客服端”窗口中的“浏览”按钮,选择你要上传的文件。 (5)单击“上传客服端”窗口中的...
`javax.servlet.http.Part`接口提供了处理上传文件的方法。通常,我们使用Servlet 3.0及以上版本的API来处理这部分工作,因为它们对文件上传提供了更好的支持。 在EXT中,我们可以创建一个包含文件上传控件的表单。...
在Java编程中,文件上传是常见的任务之一,特别是...通过这个"java上传文件接口调用源码案例",我们可以学习到如何在Java环境中实现文件上传功能,这在开发Web应用、移动应用或者后端服务时都是一项基础且重要的技能。
Java文件异步上传是一种在Web应用中常见的技术,它允许用户在不阻塞浏览器界面的情况下上传文件。这种技术尤其在处理大文件或者批量上传时,能够显著提升用户体验,因为它们不会冻结页面,允许用户继续与应用程序...
在Java编程中,上传文件到...以上是关于“java上传文件到服务器”的主要知识点,涵盖了从HTTP协议到具体Java实现的各种细节。在实际开发中,可以根据项目需求选择合适的方法和技术,确保文件上传功能的稳定性和安全性。
- 文件大小限制:为了避免过大文件导致服务器资源耗尽,应设置上传文件大小的最大限制。 - 文件类型检查:确保上传的文件类型符合预期,防止恶意文件上传。 - 文件重命名:上传后的文件应进行重命名,防止路径...
Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式...
### Java上传文件到FTP知识点详解 #### 一、概述 在现代软件开发中,文件传输是一项常见的需求。其中,FTP(文件传输协议)是最常用的一种文件传输方式之一。本篇文章将详细阐述如何利用Java编程语言实现本地文件...
java Swing 上传文件-------------------------------------------------------------------------------------------------------------------------------------------------------
java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java ...
"jsp文件上传"是另一种实现方式,JSP(JavaServer Pages)是Java Web开发中的视图技术,可以与Servlet配合使用。在JSP中,可以通过标签的enctype属性设置为"multipart/form-data",然后通过元素让用户选择文件。在...
在处理上传文件时,安全问题不容忽视。应验证文件类型、大小,避免上传恶意文件。可以使用`contentType`属性检查文件类型,限制上传大小,确保文件名安全,避免路径遍历攻击。 7. **数据库存储**: 文件上传后,...
在Java编程领域,文件上传是一项常见的任务,尤其在web应用中,用户可能需要上传图片、文档等文件。这里我们主要探讨的是使用Java实现文件上传的源码,涉及到的关键技术包括Servlet、HTTP请求处理以及文件I/O操作。 ...
对于上传RAR和ZIP文件的解压,Java标准库提供了`java.util.zip`包,包含`ZipInputStream`和`ZipFile`类来处理ZIP文件,而RAR文件则需要第三方库如Apache Commons Compress。下面是一个解压ZIP文件的例子: ```java ...