springmvc实现文件的上传

来源:互联网 发布:算法导论第三版思考题 编辑:程序博客网 时间:2024/05/16 01:13

需要依赖的jar包,在pom.xml中添加commons-fileupload-1.2.1.jar、commons-io-2.0.jar(依赖包)

html页面代码如下:

<body> <form action="/projectms/test/simpleFileupload" method="post" enctype="multipart/form-data">      最简单的文件上传:<input type="file" name="fileupload"/>      描述:<input type="text" name="desc"/>      <input type="submit" value="submit"/>      </form>  </body>

controller代码如下:

@RequestMapping("/simpleFileupload")    public void  upload(HttpServletRequest request, HttpServletResponse response) throws IOException{        DiskFileItemFactory factory=new DiskFileItemFactory();        ServletFileUpload upload=new ServletFileUpload(factory);        upload.setHeaderEncoding("utf-8");        factory.setSizeThreshold(1024 * 500);//设置内存的临界值为500,如果超过则保存到/root/aaa目录下        File linshiFile=new File("/root/aaa");        factory.setRepository(linshiFile);        upload.setSizeMax(1024 * 1024 * 5);        try {            List<FileItem> items=upload.parseRequest(request);            for (FileItem item : items) {                 if (item.isFormField()) {                          String name = item.getFieldName();                          String value = item.getString("utf-8");                          System.out.println(name + ": " + value);                  }else {                     String fileName = item.getName();                          long sizeInBytes = item.getSize();                          System.out.println(fileName);                          System.out.println(sizeInBytes);                          InputStream in = item.getInputStream();                          byte[] buffer = new byte[1024];                          int len = 0;                          fileName = "/root/bbb/" + fileName;//文件最终上传的位置                          System.out.println(fileName);                          OutputStream out = new FileOutputStream(fileName);                          while ((len = in.read(buffer)) != -1) {                              out.write(buffer, 0, len);                          }                          out.close();                          in.close();                      }                  }          } catch (FileUploadException e) {            e.printStackTrace();        }    }
0 0
原创粉丝点击