下载文件时中文乱码是一个很常见的问题, 这不是第一次,但我希望它是最后一次了

这是个让人很头疼的问题, 明明在后台文件名还是正常的,为什么下载后文件名就乱码了呢

为什么会乱码:因为浏览器的编码和后台传的编码不一致,这就好比火星人(###)和水星人(***)用方言讲话,结果肯定是谁也听不懂,

那如何解决交流时语言不通的问题呢, 那就用一个统一的语言【UTF-8】作为双方的沟通的语言吧

附下载方法

@ApiOperation("MinIO文件下载")
@GetMapping("/generateFileDown")
public BaseRetBean generateFileDown(@ApiParam(value = "主键编号",required = true) @RequestParam(value = "id",required = true) String id,HttpServletResponse response
) throws Exception {BaseRetBean baseRetBean = new BaseRetBean();// 自己的业务逻辑GmFileBean gmFileBean = workOrderService.queryFileById(id);if (gmFileBean==null) {baseRetBean.setRet(0);baseRetBean.setMsg("对象为空");return baseRetBean;}String fileName = gmFileBean.getFile_name();// 存储桶名称String bucketName="work-order";InputStream inputStream = minioUtil.getObject(bucketName,gmFileBean.getData());// 数据为空if (inputStream == null) {baseRetBean.setRet(0);baseRetBean.setMsg("文件为空");return baseRetBean;}byte[] data = inputStreamToByteArray(inputStream);try {// 清除第一行response.reset();// 用于描述HTTP消息实体的传输长度response.addHeader("Content-Length", "" + data.length);// Content-disposition 以附件的方式下载文件, 文件名用encode编码response.setHeader("Content-Disposition", "attachment; filename=\""+ URLEncoder.encode(fileName,"utf-8")+"\"");// 告诉浏览器文件的编码格式response.setContentType("application/"+gmFileBean.getType()+";charset=UTF-8");IOUtils.write(data, response.getOutputStream());} catch (Exception ex) {ex.printStackTrace();}baseRetBean.setRet(1);baseRetBean.setMsg("查询成功");return baseRetBean;
}

java下载文件时文件名中文乱码相关推荐

  1. Java下载文件时文件名出现乱码(但文件内容正常)

    今天写文件下载时,发现以前忽略的问题,写个小记录 我们一般使用中文操作系统,所以要求的 文件名编码最好是utf-8,国际化一点 但是,似乎实际上不是这样 1. String fileName=new ...

  2. 解决各大浏览器下载文件,文件名中文乱码的问题

    https://blog.csdn.net/fengchao2016/article/details/55188805/ 使用Trident和Edge关键字来判断是否是微软的浏览器(微软抛弃了IE,开 ...

  3. Java下载文件时文件名中的中文变成下划线,其他正常

    问题: 问题源码 package com.lm.cms2.controller;import org.springframework.stereotype.Controller; import org ...

  4. java读txt文件乱码_java读取txt文件时出现中文乱码怎么解决

    java读取txt文件时出现中文乱码怎么解决 发布时间:2020-06-25 15:27:31 来源:亿速云 阅读:105 作者:Leah java读取txt文件时出现中文乱码怎么解决?针对这个问题, ...

  5. 火狐浏览器下载文件时文件名乱码问题的解决

    火狐浏览器在微信网页版或其他网站中下载文件时,存在文件名乱码的问题,搜索了很多解决办法,写的都比较复杂,不适合我这种不懂代码的人.后来发现火狐浏览器附加组件addons上可以搜到解决此问题的组件,就是 ...

  6. java读写html文件时出现中文乱码问题的解决方法

    最近在做HTML静态生成,需要从硬盘上把模版文件的内容读出来.然后,替换相关标签写到指定的文件中.无论是读写,都遇到了中文乱码问题.试过多种方法,发现下面一种可以避免中文乱码.(无论读取还是写入一定要 ...

  7. 手机下载文件乱码php,手机端下载文件的文件名为乱码?

    最近用手机端测试数据的时候,发现用手机端下载文件的文件名是乱码,我查看了SystemNoticeManager.java的源码之后发现他们对文件名的定义的之前的写法是: String finalFil ...

  8. mysql导入数据库注释乱码_source命令 导入.sql文件时,中文乱码 或者是注释乱码...

    1.source命令 导入.sql文件时,中文乱码 或者是注释乱码 首先进入dos命令,进入mysql数据库,之后use 数据库:之后查看你的mysql数据库编码 如下命令:模糊查询变量charact ...

  9. spring使用@Value注解读取.properties文件时出现中文乱码问题的解决

    spring使用@Value注解读取.properties文件时出现中文乱码问题的解决 参考文章: (1)spring使用@Value注解读取.properties文件时出现中文乱码问题的解决 (2) ...

最新文章

  1. resttemplate 文件上传 上传文件
  2. asp2.0缓存概述
  3. 查看 php-cgi 进程数
  4. ASP.NET Core 2.0身份和角色管理入门
  5. UVA10624 Super Number【DFS】
  6. 云之讯-》返回码105147
  7. 模板字符串竟然还有这种用法
  8. 通向AGI(通用人工智能)的另类书单
  9. 贵阳清镇计算机培训,贵阳清镇电工培训中心
  10. NFC怎么复制房卡_为了省门禁卡的钱,买了NFC读卡器,到底值不值
  11. 雅虎历任CEO的错误
  12. 新浪云SAE共享型数据库MySQL使用经验
  13. 恭喜马斯克、纳德拉当选美国工程院院士,张宏江、方岱宁入选外籍院士
  14. 读书笔记:无人机控制(二)
  15. 在Mac上更安全的搜索和下载BT
  16. 微信小程序-JavaScript 3DES对称加密算法加密使用
  17. IDC企业为何热衷进军宽带接入网领域?
  18. 计算机视觉之人脸识别学习(六)
  19. Zookeeper介绍、原理及应用
  20. 让AI做作业:基于PaddleNLP-Taskflow的错别字单项测试

热门文章

  1. Python实现常见的排序算法
  2. [转载] 黄志敏:一条数据新闻是如何用7步生产出来的?
  3. vista识别内存4g_Windows Vista中的语音识别-我在听
  4. hive 建表-复杂数据类型
  5. 使用 Cipher CipherInputStream CipherOutputStream 实现对文件的加解密
  6. eclipse中怎么快速切换窗口?
  7. 计算机专业排名211大学排名,计算机专业大学排名,计算机专业强的211!
  8. python中columns用法_pandas中DataFrame修改index、columns名的方法示例
  9. SpringCloud学习笔记(十二)基于Hystrix解决雪崩效应
  10. mp4视频损坏无法播放如何修复?