前言
文件上传下载在类似注册表单中经常会使用到,这里也单独抽取出来,以便日后直接使用。文件上传是以流的方式提交到服务器的,这点与普通的表单提交不同,所以需要对有文件上传域的表单特别声明,这样提交到后台的时候就可以以流的方式进行存取了。实现这个功能我们需要借助Apache的两个jar包:commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar。这两个jar可以在网上直接下载。
文件上传
1、创建一个web工程,并导入上面两个jar包,如下图:
2、创建文件上传表单
<body>
<form action="uploadServlet" enctype="multipart/form-data" method="post">
<h3>文件上传</h3><br>
上传文件1:<input type="file" name="pic1"><br>
上传文件2:<input type="file" name="pic2">
</form>
</body>
3、建立uploadServlet.java文件
package com.rhwayfun.servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadServlet extends HttpServlet {
@SuppressWarnings("unchecked")
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8")