java springmvc 文件 上传,下载

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);
}

猜你喜欢

转载自blog.csdn.net/qq_34874784/article/details/84944213