OSS 下载文件名乱码
文章目录
- 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 下载文件名乱码相关推荐
- php ie 下载 乱码,php ie下载文件名乱码怎么办
php ie下载文件名乱码的解决办法:1.通过header方法解决乱码:2.通过"function remote_filesize($uri,$user='',$pw='') {...}&q ...
- java文件名的编码格式_java下载文件名乱码解决方法详解
java下载文件名乱码的方法:(推荐:java视频教程) 每个浏览器的编码不一样,火狐采用的是base64.ie和谷歌采用的是url编码: 所以我们在设置响应头的时候Content-Type getS ...
- java下载文件名乱码的解决方法
java下载文件名乱码的解决方法 参考文章: (1)java下载文件名乱码的解决方法 (2)https://www.cnblogs.com/liyabin/p/7891073.html 备忘一下.
- 火狐浏览器下载文件名乱码
##火狐浏览器下载文件名乱码 response.setHeader("Content-Disposition","attachment;filename*=utf-8'z ...
- IE浏览器下载文件名乱码
解决IE浏览器下载文件名乱码额问题 //下载的文件名为fileNameString fileName = "登录登出日志统计" + DateUtils.yyyyMMddHHmmss ...
- java web 下载文件名乱码
Web开发下载文件功能(代码如下),文件名如果带有中文,经常会出现乱码现象,需要进行编码. String fileName = "测试文件.doc"; try {HttpServl ...
- 解决wget下载文件名乱码的一些方法
在下载用apache或者nginx做的索引目录时,遇到文件名乱码问题.搜索了不少资料,尝试了好几种方案,大家可以结合使用. 一般情况下加上–restrict-file-names=nocontrol参 ...
- 开发者日记1-文件下载文件名乱码(所有语言通用下载设置)
源头 作为一个原Java开发者,在之前所开发的项目中,做文件下载我们有一个方法,就是获取User-agent然后去判断这个user-agent的请求头去依次根据浏览器去转换我们返回时的文件名称 文件下 ...
- java ie下载文件名乱码问题_php中强制下载文件的代码(解决了IE下中文文件名乱码问题)...
中间遇到一个问题是提交的中文文件名直接放到header里在IE下会变成乱码,解决方法是将文件名先urlencode一下再放入header,如下. $file_name = urlencode($_RE ...
- Java解决下载--文件名乱码
最近常有人问到下载文件文件名出现乱码问题,今天统一给出解决方案如下 通常都会通过URLEncoder转码的方式来解决,关键代码如下: response.setContentType( "ap ...
最新文章
- springboot 自动配置
- java 判断是否是日期_java判断是否为日期的方法(附代码)
- Android 开发工具类 36_ getSimSerial
- 数学问题->分数的四则运算
- 鲍姆-韦尔奇算法 数学推导
- DNS域名解析服务(正向解析,反向解析,主从解析)
- 加强Eclipse代码自动提示的方法
- structs2之多文件上传
- mysql数据库表分区_MySQL数据库之MySQL的分区和分表详解
- 饿了么UI组件库中,Upload组件上传闪动的解决
- Linux实现ppp拨号4G模块联网全球APN之亚美尼亚(Armenian)
- anaconda 的安装及环境配置、anaconda创建新的环境、jupyter代码高亮及自动补全、改变jupyter注释的字体及颜色
- 彻底解密C++宽字符
- 虚拟机和本机拷贝数据:
- 【论文总结】Towards Open World Object Detection(附翻译)
- 3D 沙盒游戏之地面网格设计
- 双目立体匹配步骤详解
- 扫描版PDF自动添加书签 | 电子书目录自动获取
- linux脚本从100减到1,shell实例100例《十一》
- 英语启蒙之绘本篇:适合1-3岁孩子学英语的绘本推荐清单