利用POIcommons组件实现文件上传

1.导包:

 

2. 后台:

2.1 fileupload项目WebContent下新建文件filetmp文件夹:

2.2 FileController.java

@WebServlet(urlPatterns = {"/fileup.do"})//webVersion3.0可以使用注解设置urlpartten
public class FileController extends HttpServlet{
     @Override
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

          ServletContext application = this.getServletContext();
          //1.创建文件条目工厂对象
          DiskFileItemFactory fatory = new DiskFileItemFactory();

          //2.文件超过默认值,启用临时文件
          fatory.setSizeThreshold(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD);

          //3.设置临时文件路径
          String tmppath = application.getRealPath("tmp");
          fatory.setRepository(new File(tmppath));         

          //创建文件上传核心对象
          ServletFileUpload fileUpload = new ServletFileUpload(fatory);//需要格式化工厂       
          try {
               //解析request请求
               List<FileItem> fileItems = fileUpload.parseRequest(request);
               for (FileItem fileItem : fileItems){
                    if(fileItem.isFormField()){
                         //是一个普通的form表单
                         String fileName = fileItem.getFieldName();
                         String value = fileItem.getString("utf-8");
                         System.out.println(fileName+"="+value);
                    }else{
                         //是一个文件
                         String fileName = fileItem.getName();
                         String path = application.getRealPath("file") + "/"+fileName;//注意"/"结尾
                         fileItem.write(new File(path));
                         System.out.println(path);
                    }
               }          

          } catch (FileUploadException e) {
               e.printStackTrace();
          } catch (Exception e) {
               e.printStackTrace();
          }        
     }

}

3.前端 t1.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="http://localhost:8080/fileupload/fileup.do" method="post" enctype="multipart/form-data">
  <input type="file" name="file1"> <%-- FileItem --%>
  <input type="submit" value="提交">
</form>
</body>
</html>

 

猜你喜欢

转载自blog.csdn.net/Tanganq/article/details/81283322