Java实现文件的上传
2012-03-08 10:33
169 查看
用Java来实现文件的上传,如果文件较小的话,我们可以用JSP SmartUpload,但是它的缺点就是上传大文件的时候,浏览器无反应,甚至会崩溃。所以今天我们用
Apache的开源工具:Commons-FileUpload 。
最新版本为:1.2.1
下载地址:jar包 http://apache.mirror.phpchina.com/commons/fileupload/binaries/commons-fileupload-1.2.1-bin.zip
源代码 http://apache.mirror.phpchina.com/commons/fileupload/source/commons-fileupload-1.2.1-src.zip
API手册:http://commons.apache.org/fileupload/apidocs/index.html 下载API请参考上一篇文章:用Teleport
Ultra下载网站全部网页。
这里我们还需要commons-io.jar。因为文件的上传需要DeferredFileOutputStream(延迟文件输出流)类。最新版本为1.4 也就是commons-io-1.4.jar
下载地址:http://labs.xiaonei.com/apache-mirror/commons/io/binaries/commons-io-1.4-bin.zip
我的开发环境:JDK1.6+MyEclipse7+Tomcat5.5.27
先在MyEclipse中新建一个项目,FileUpload,将以上两个jar文件添加到该项目的类库中。
我们的思路是:一个选择文件的页面(file.jsp),还有一个后台处理页面(upload.jsp),文件保存路径为/upload目录中。
首先在WebRoot目录下新建一个folder(目录)为upload。
进入Tomcat\webapps\FileUpload目录下能看到生成的upload目录。
然后新建两个jsp页面,代码如下:
file.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>请选择文件</head>
<body>
<form action="upload.jsp" method="post" enctype="multipart/form-data">
<input type="file" name="upload" >
<input type="submit" value="提交">
</form>
</body>
</html>
upload.jsp
<%@ page pageEncoding="gbk"%>
<%@page import="org.apache.commons.fileupload.DiskFileUpload"%>
<%@page import="java.util.List"%>
<%@page import="org.apache.commons.fileupload.FileItem"%>
<%@page import="java.io.File"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%
DiskFileUpload upload = new DiskFileUpload();
List list=upload.parseRequest(request);
for(int i=0;i<list.size();i++)
{
FileItem item = (FileItem)list.get(i);
String filename = item.getName();
File file = new File(filename);
item.write(new File(request.getRealPath("/upload"),file.getName()));
}
request.getRequestDispatcher("file.jsp").forward(request,response); %>
发布后,在Tomcat中访问fiel.jsp页面。
点击浏览,选择一个文件。那我就选刚刚我们下载的commons-fileupload-1.2.1.jar
点击提交后,页面重新转向到file.jsp 方便用户上传其他文件。
进入Tomcat\webapps\FileUpload\upload目录中,我们能发现刚刚上传的commons-fileupload-1.2.1.jar文件。
Java成功实现文件的上传!以后我们会把上传的文件写入数据库或者XML文件,这样就有了实际开发的意义。
本文出自 “小段” 博客,请务必保留此出处http://xiaoduan.blog.51cto.com/502137/137909
Apache的开源工具:Commons-FileUpload 。
最新版本为:1.2.1
下载地址:jar包 http://apache.mirror.phpchina.com/commons/fileupload/binaries/commons-fileupload-1.2.1-bin.zip
源代码 http://apache.mirror.phpchina.com/commons/fileupload/source/commons-fileupload-1.2.1-src.zip
API手册:http://commons.apache.org/fileupload/apidocs/index.html 下载API请参考上一篇文章:用Teleport
Ultra下载网站全部网页。
这里我们还需要commons-io.jar。因为文件的上传需要DeferredFileOutputStream(延迟文件输出流)类。最新版本为1.4 也就是commons-io-1.4.jar
下载地址:http://labs.xiaonei.com/apache-mirror/commons/io/binaries/commons-io-1.4-bin.zip
我的开发环境:JDK1.6+MyEclipse7+Tomcat5.5.27
先在MyEclipse中新建一个项目,FileUpload,将以上两个jar文件添加到该项目的类库中。
我们的思路是:一个选择文件的页面(file.jsp),还有一个后台处理页面(upload.jsp),文件保存路径为/upload目录中。
首先在WebRoot目录下新建一个folder(目录)为upload。
进入Tomcat\webapps\FileUpload目录下能看到生成的upload目录。
然后新建两个jsp页面,代码如下:
file.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>请选择文件</head>
<body>
<form action="upload.jsp" method="post" enctype="multipart/form-data">
<input type="file" name="upload" >
<input type="submit" value="提交">
</form>
</body>
</html>
upload.jsp
<%@ page pageEncoding="gbk"%>
<%@page import="org.apache.commons.fileupload.DiskFileUpload"%>
<%@page import="java.util.List"%>
<%@page import="org.apache.commons.fileupload.FileItem"%>
<%@page import="java.io.File"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%
DiskFileUpload upload = new DiskFileUpload();
List list=upload.parseRequest(request);
for(int i=0;i<list.size();i++)
{
FileItem item = (FileItem)list.get(i);
String filename = item.getName();
File file = new File(filename);
item.write(new File(request.getRealPath("/upload"),file.getName()));
}
request.getRequestDispatcher("file.jsp").forward(request,response); %>
发布后,在Tomcat中访问fiel.jsp页面。
点击浏览,选择一个文件。那我就选刚刚我们下载的commons-fileupload-1.2.1.jar
点击提交后,页面重新转向到file.jsp 方便用户上传其他文件。
进入Tomcat\webapps\FileUpload\upload目录中,我们能发现刚刚上传的commons-fileupload-1.2.1.jar文件。
Java成功实现文件的上传!以后我们会把上传的文件写入数据库或者XML文件,这样就有了实际开发的意义。
本文出自 “小段” 博客,请务必保留此出处http://xiaoduan.blog.51cto.com/502137/137909
相关文章推荐
- Java实现FTP批量大文件上传下载篇1
- maven工程 java 实现文件上传 SSM ajax异步请求上传
- Java连接FTP服务器并且实现对其文件的上传和下载
- java实现ftp服务器上传文件
- java实现ftp跨服务器上传文件并用html5流媒体播放
- java操作FTP,实现文件上传下载删除操作
- HTTP POST请求报文格式分析与Java实现文件上传
- [置顶] ckeditor 与 ckfinder基于Struts2 集成实现在线编辑以及文件上传(JAVA版)
- Java中实现文件上传下载的三种解决方案
- 用Java实现FTP批量大文件上传下载
- java 文件上传实现
- java积累——apache commons fileupload 实现文件上传
- java实现文件上传到数据库
- java实现sftp客户端上传文件以及文件夹的功能代码
- java实现简单文件复制(文件上传)以及springMVC中上传文件方式
- Java实现文件上传
- 用Java实现FTP批量大文件上传下载(四)
- java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息
- hadoop生态系统学习之路(三)java实现上传文件(本地或ftp)至hdfs
- Java代码使用FTPClient实现ftp文件上传下载和删除的功能