Spring Mvc中用ResponseEntity方式下載文件如下:
@RequestMapping("/download")
public ResponseEntity<byte[]> download(HttpServletRequest request,@RequestParam("fileName") String fileName) throws IOException {
String path = request.getServletContext().getRealPath("/uploadImages/");
File dwFile = new File(path+File.separator+fileName);
HttpHeaders headers = new HttpHeaders();
//下載顯示的中文名,解決中文名稱亂碼問題
String downloadFileName = new String(fileName.getBytes("UTF-8"),"ISO-8859-1");
//application/octet-stream:二進制流數據
headers.setContentDispositionFormData("attachment",downloadFileName);
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(dwFile),headers, HttpStatus.CREATED);
}
}
