首页 > 编程语言 > 详细

spring mvc 文件下载&&解决文件名乱码问题

时间:2019-11-13 13:54:41      阅读:72      评论:0      收藏:0      [点我收藏+]
 @RequestMapping("/download")
    public ResponseEntity<byte[]> export(@RequestParam("id") Long id, HttpServletRequest request) throws IOException {
        TKnownledgeFile knownledgeFile = knownledgeFileMapper.selectTKnownledgeFileById(id);
     //得到原始文件名称 String fileName
= knownledgeFile.getFileName(); HttpHeaders headers = new HttpHeaders();
     拿到存在你服务器上的文件,路径必须是绝对路径 File file
= new File(FileUploadUtils.getDefaultBaseDir() + knownledgeFile.getFilePath()); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
     //判断浏览器类型,火狐的浏览器编码为 iso-8859-1 所以要单独处理
if(request.getHeader("USER-AGENT").toLowerCase().contains("firefox")){ fileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1"); headers.setContentDispositionFormData("attachment", fileName); }else{
       //其他浏览器类型可以用一下代码方式解决中文文件名乱码问题 headers.setContentDispositionFormData(
"attachment", URLEncoder.encode(fileName, "UTF-8")); } return new ResponseEntity<byte[]>(org.apache.commons.io.FileUtils.readFileToByteArray(file), headers, HttpStatus.CREATED); }

 

spring mvc 文件下载&&解决文件名乱码问题

原文:https://www.cnblogs.com/liouzeshuen/p/11848162.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!