用commons-fileupload-1.2 实现文件上传
www.diybl.com 时间 : 2010-09-19 作者:佚名 编辑:hawk 点击: [ 评论 ]
前几天搞文件上传 , Google到了Apache 的 commons-fileupload-1.2.jar 上传组件, 研究了API然后结合Hibernate实现了上传图片
并保存到MySQL数据库. 今天重新写了一遍, 由于不需要保存到数据库了, 就实现了保存成文件格式.
我的这个FileUpload web工程源文件下载如下 : FileUpload.rar . 解压到当前文件夹后直接剪切到 Tomcat 主目录下的 webapps
目录下, 启动 Tomcat 后在浏览器输入 http://localhost:8080/FileUpload/upload.html 查看演示.
我是用Eclipse 开发. 首先, 下载两个开发包: commons-fileupload 和 commons-io(这个在应用commons-fileupload时会用到).
这两个开发包(jar文件) 在我前面提供的FileUpload 工程下的WEB-INF/lib下可以找到, 你也可以到官方下载:
到 http://commons.apache.org/downloads/download_fileupload.cgi 下载 commons-fileupload-1.2.jar
组件包 (直接下载地址: http://apache.mirror.phpchina.com/commons/fileupload/binaries/commons-fileupload-1.2-bin.zip ),
到 http://commons.apache.org/downloads/download_io.cgi 下载 commons-io-1.3.2 组件包(直接下载地址:
http://apache.mirror.phpchina.com/commons/io/binaries/commons-io-1.3.2-bin.zip ).
启动Eclipse, 新建Web Project, 取名 FileUpload. 然后在WebRoot文件夹(Web根文件夹)下新建两个文件夹(New->Folder) :
ImagesUploaded 和 ImagesUploadTemp, 分别用来存放上传文件和上传时的临时文件,稍后代码里会用到.
在WebRoot 文件夹下新建文件upload.html, 用来提供上传用的form. 源代码如下:
右击src, 新建一个Servlet: FileUploadServlet, 路径设为src/FileUploadServlet . 保存后WebRoot/WEB-INF/web.xml 更新为:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>FileUploadServlet</servlet-name>
<servlet-class>FileUploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileUploadServlet</servlet-name>
<url-pattern>/FileUploadServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>upload.html</welcome-file>
</welcome-file-list>
</web-app>