servlet上传文件

来源:互联网 发布:沃尔沃销售数据 编辑:程序博客网 时间:2024/06/01 13:29

首先form表单添加 ectype="multipart/form-data"

导入 commons-io,comons-fileupload这两个jar包,

servlet代码:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    DiskFileItemFactory factory = new DiskFileItemFactory();    ServletFileUpload upload = new ServletFileUpload(factory);    upload.setHeaderEncoding("UTF-8"); //设置编码    List<FileItem> items = null;    try {         items = upload.parseRequest(request);    } catch (FileUploadException e) {        e.printStackTrace();    }    Map param = new HashMap();    for (FileItem fileItem : items){       if (fileItem.isFormField()){//如果是表单数据           System.out.println(fileItem.getFieldName());       }else {//如果是文件数据          File file = new File("C:/Users/11264/Desktop/"+fileItem.getName());          file.createNewFile();          InputStream inputStream = fileItem.getInputStream();           FileOutputStream outputStream = new FileOutputStream(file);           byte [] by = new byte[1024];           int length = 0;           while ((length=inputStream.read(by))!=-1){               outputStream.write(by,0,length-1);           }           System.out.println(file.getAbsolutePath());           outputStream.close();           inputStream.close();       }    }