1.文件上传 @RequestMapping( "/upload") public void bigFile2(HttpServletRequest request, HttpServletResponse response, MultipartFile file ){ String filePath="D:/data/upload/"; try { boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { // 如果文件夹不存在,创建目录 File parentFileDir = new File(filePath); if (!parentFileDir.exists()) { parentFileDir.mkdirs(); } //文件路径 File File = new File(filePath+ UUID.randomUUID()); FileUtils.copyInputStreamToFile(file.getInputStream(), File); } } catch (Exception e) { e.printStackTrace(); } }
2.文件下载
@GetMapping(value="/download") //匹配的是href中的download请求 public ResponseEntity<byte[]> download(HttpServletRequest request, @RequestParam("filename") String filename, Model model) throws IOException{ String downloadFilePath="D:\\UploadFile\\Files";//从我们的上传文件夹中去取 File file = new File(downloadFilePath + "/merge/" + filename);//新建一个文件 HttpHeaders headers = new HttpHeaders();//http头信息 String downloadFileName = new String(filename.getBytes("UTF-8"),"iso-8859-1");//设置编码 headers.setContentDispositionFormData("attachment", downloadFileName); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED); }