本文主要是介绍2021-05-03,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
SSM文件下载
- 获取下载文件位置所有信息
@GetMapping("/downLoadFiles")
public String downLoadFiles(HttpServletRequest request, Model model){
// 读取保存文件的地址,获取名称
String realPath = request.getServletContext().getRealPath("/upload");
File savefile=new File(realPath);
List<String> fileNames = new ArrayList<>();
File[] files = savefile.listFiles();
for (File file:files) {
fileNames.add(file.getName());
}
model.addAttribute("fileNames",fileNames);
return "downLoad";
}
- 获取名字点击下载
@GetMapping("/fileDownLoad")
public ResponseEntity downLoad(@PathVariable("fileName") String fileName,HttpServletRequest request) throws IOException {
String realPath = request.getServletContext().getRealPath("/upload");
HttpHeaders headers = new HttpHeaders();
// 以流的形式下载
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
// 用户手动下载而不是自动下载
headers.setContentDispositionFormData("attachment",fileName);
return new ResponseEntity<>(
FileUtils.readFileToByteArray(new File(realPath,fileName))//把要下载的文件以ByteArray形式返回
,headers,//我们自定义响应头信息
HttpStatus.OK);//状态码
}
这篇关于2021-05-03的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!