Apache Commons 文件上传下载
maven依赖
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
文件上传
1. 前端
<form action="upload" method="post" enctype="multipart/form-data"> 姓名:<input type="text" name="username"><br/> 头像:<input type="file" name="header"><br/> <input type="submit"> </form>
2.servlet
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { FileItemFactory fileItemFactory = new DiskFileItemFactory(); ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory); try { List<FileItem> fileItems = servletFileUpload.parseRequest(req); for (FileItem fileItem : fileItems) { if (fileItem.isFormField()){ System.out.println(fileItem.getFieldName()); System.out.println(fileItem.getString()); }else { System.out.println(fileItem.getName()); fileItem.write(new File("/Users/binge/Pictures/a.jpg")); } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }
文件下载
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { InputStream resourceAsStream = getServletContext().getResourceAsStream("/file/tim.jpeg"); String mimeType = getServletContext().getMimeType("/file/tim.jpeg"); resp.setContentType(mimeType); resp.setHeader("content-Disposition","attachment;filename=a.jpg"); ServletOutputStream outputStream = resp.getOutputStream(); IOUtils.copy(resourceAsStream,outputStream); }
浙公网安备 33010602011771号