文件的上传和下载
对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,struts上传的功能就是基于这个实现的。common-fileupload是依赖于common-io这个包的,所以还需要下载这个包。
今天以一个例子为介绍.
1. 开发环境搭建
1. 新建maven工程,目录如下
2. 添加pom文件中的jar包依赖
本次pom文件依赖了上午写的log4j jar包,所以这里依赖了log4j1的pom文件,但是只是提供了日志输出,可以直接去掉关于日志的文件就可以了.
<parent>
<groupId>log4jtest</groupId>
<artifactId>log4j1</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>fileupload</groupId>
<artifactId>fileuploadtest</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>fileuploadtest Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
3. 有兴趣看源码的可以到我的github中下载
https://github.com/Steven-hsm/FileUpLoad
来源:oschina
链接:https://my.oschina.net/u/2615530/blog/783975