文章目录

  • 1、OSS 下载文件,文件名乱码(文件名是中文)
  • 2、下载乱码的代码如下:
  • 3、修正后的代码如下:

1、OSS 下载文件,文件名乱码(文件名是中文)

oss 版本 3.8.1

<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.8.1</version>
</dependency>

如下图所示,可以看到文件名是乱码:

2、下载乱码的代码如下:

ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentLength(inputStream.available());
objectMetadata.setCacheControl("no-cache");
objectMetadata.setHeader("Pragma", "no-cache");
objectMetadata.setContentType(ContentTypeEnum
.getContentTypeByFileType(fileName.substring(fileName.lastIndexOf("."))));
//这句话是重点,是设置文件的下载行为(inline 表示是内联表示,就是在新的窗口打开文件,默认的图片、pdf 都会在新窗口打开,excel、doc 文档会下载.attachment表示下载文件)
objectMetadata.setContentDisposition("inline;filename=" + fileName);
oss.putObject(eyangxiOssClientPropertiesConfig.getBucket(), fileName, inputStream, objectMetadata);

3、修正后的代码如下:

fileName = URLEncoder.encode(fileName , "UTF-8");
objectMetadata.setContentDisposition("inline;filename*=utf-8'zh_cn'" + fileName );
objectMetadata.setHeader("Content-disposition", "filename*=utf-8'zh_cn'" + fileName );

改了代码后下载文件名

OSS 下载文件名乱码相关推荐

  1. php ie 下载 乱码,php ie下载文件名乱码怎么办

    php ie下载文件名乱码的解决办法:1.通过header方法解决乱码:2.通过"function remote_filesize($uri,$user='',$pw='') {...}&q ...

  2. java文件名的编码格式_java下载文件名乱码解决方法详解

    java下载文件名乱码的方法:(推荐:java视频教程) 每个浏览器的编码不一样,火狐采用的是base64.ie和谷歌采用的是url编码: 所以我们在设置响应头的时候Content-Type getS ...

  3. java下载文件名乱码的解决方法

    java下载文件名乱码的解决方法 参考文章: (1)java下载文件名乱码的解决方法 (2)https://www.cnblogs.com/liyabin/p/7891073.html 备忘一下.

  4. 火狐浏览器下载文件名乱码

    ##火狐浏览器下载文件名乱码 response.setHeader("Content-Disposition","attachment;filename*=utf-8'z ...

  5. IE浏览器下载文件名乱码

    解决IE浏览器下载文件名乱码额问题 //下载的文件名为fileNameString fileName = "登录登出日志统计" + DateUtils.yyyyMMddHHmmss ...

  6. java web 下载文件名乱码

    Web开发下载文件功能(代码如下),文件名如果带有中文,经常会出现乱码现象,需要进行编码. String fileName = "测试文件.doc"; try {HttpServl ...

  7. 解决wget下载文件名乱码的一些方法

    在下载用apache或者nginx做的索引目录时,遇到文件名乱码问题.搜索了不少资料,尝试了好几种方案,大家可以结合使用. 一般情况下加上–restrict-file-names=nocontrol参 ...

  8. 开发者日记1-文件下载文件名乱码(所有语言通用下载设置)

    源头 作为一个原Java开发者,在之前所开发的项目中,做文件下载我们有一个方法,就是获取User-agent然后去判断这个user-agent的请求头去依次根据浏览器去转换我们返回时的文件名称 文件下 ...

  9. java ie下载文件名乱码问题_php中强制下载文件的代码(解决了IE下中文文件名乱码问题)...

    中间遇到一个问题是提交的中文文件名直接放到header里在IE下会变成乱码,解决方法是将文件名先urlencode一下再放入header,如下. $file_name = urlencode($_RE ...

  10. Java解决下载--文件名乱码

    最近常有人问到下载文件文件名出现乱码问题,今天统一给出解决方案如下 通常都会通过URLEncoder转码的方式来解决,关键代码如下: response.setContentType( "ap ...

最新文章

  1. 博客园左边导航菜单的问题
  2. unity3d 的Quaternion.identity和transform.rotation区别是什么
  3. 供应商关系管理SRM为企业的节流增贡献
  4. (Kali)BackTrack-linux安全***测试系统盘
  5. 深度学习-吴恩达-笔记-6-优化算法
  6. Centos7安装maven过程
  7. 非线性优化_曲线拟合_Ceres_最小二乘法示例
  8. [代码]POJ 2409 Let it Bead
  9. Android 高德地图 Native method not found: com.autonavi.amap.mapcore.MapCore.nativeNewInstance:(Ljava/lan
  10. win11怎么看激活状态
  11. Android使用微信H5支付
  12. java web 播放音频_用webAudio和canvas实现音频可视化
  13. android-5.0新功能介绍(Lollipop)
  14. js获取ISO8601规范时间,使用UTC时间,格式为:YYYY-MM-DDThh:mm:ssZ
  15. ultraedit25版本设置文本自动换行方法
  16. [C语言]static关键字--#define 定义常量和宏--初识指针--初识C语言(四)
  17. 【Linux环境搭建】十二、Linux(CentOS7) 时序数据库InfluxDB及Influx-proxy安装配置
  18. 颠覆IoT行业的开发神器!涂鸦智能重磅推出TuyaOS操作系统【程序员必备】
  19. XFINIUM.PDF CROSS-PLATFORM BUNDLE 11.1.2
  20. ae缺少效果opticalflares_视频画面不够好看?因为你缺少这些AE常用插件

热门文章

  1. 谈谈优化JDBC数据库编程(转)
  2. pytorch实现 求协方差、皮尔森相关系数(Pearson product-moment correlation coefficient)
  3. 18650锂电池保护板接线图_单节18650锂电池保护板的电路原理图
  4. 4.2V锂电池充电、放电保护电路分享
  5. php laypage 开发demo,laypage+laytpl示例
  6. JS获取当前页面的URL参数
  7. Android控件 TabHost,Android控件之TabHost用法实例分析
  8. wps重复上一步快捷键_Wps重复命令快捷键
  9. PLC编程实现堆栈功能
  10. python deap_看完必会的 python DEAP遗传算法库讲解+实战(中级)