- package com.utils;
- import java.io.File;
- import java.io.IOException;
- 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.disk.DiskFileItemFactory;
- import org.apache.commons.fileupload.servlet.ServletFileUpload;
- public class FileServlet extends HttpServlet{
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- doPost(request,response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- //1.设置编码
- request.setCharacterEncoding("utf-8");
- //2.创建一个工厂类
- DiskFileItemFactory diskFileItemFactory=new DiskFileItemFactory();
- //3.得到当前项目的根目录
- String dir=this.getServletContext().getRealPath("/");
- //4设置缓存的大小
- diskFileItemFactory.setSizeThreshold(1024*1024);
- //5设置文件的保存目录
- File file=new File(dir+"fileTemp");
- if(!file.exists()){
- file.mkdir();
- }
- //创建request解析器
- ServletFileUpload servletFileUpload=new ServletFileUpload(diskFileItemFactory);
- List <FileItem> list=null;
- try{
- list=servletFileUpload.parseRequest(request);
- }catch (Exception e) {
- // TODO: handle exception
- System.out.println("error");
- }
- if(!list.isEmpty()){
- for(FileItem fileItem:list){
- if(fileItem.isFormField()){
- }else{
- //表单字段的名称
- String fileName=fileItem.getFieldName();
- //得到文件的名称
- String filePath=fileItem.getName();
- fileItem.getString("utf-8");
- try {
- fileItem.write(new File(file, filePath));
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/2212201411371.html
来源: http://www.codesnippet.cn/detail/2212201411371.html