oss阿里云上传文件设置下载文件名
2017-12-05 23:06
1711 查看
今天用oss阿里云完成上传文件操作时遇到一个问题,文件上传到阿里云服务器上后会返回一个url路径,但是通过url路径下载得到是md5加密后的文件名
后查阿里云的sdk文档发现可以通过设置请求头的方式来设置下载文件名:
具体代码如下:
看的时候一定要仔细!!!!!!!!!
==============================================
解决问题的核心:
//获取原文件名
String filename = file.getOriginalName();
//设置文件上传时的请求头信息,这样上传返回文件存储的url路径,我们通过url路径直接下载就可以得到源文件名而不是加密的随机码。
meta.setContentDisposition("attachment;filename=\""+filename+"\"");
==============================================
后查阿里云的sdk文档发现可以通过设置请求头的方式来设置下载文件名:
具体代码如下:
看的时候一定要仔细!!!!!!!!!
// endpoint以杭州为例,其它region请按实际情况填写
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
String content = "Hello OSS";
// 创建上传Object的Metadata
ObjectMetadata meta = new ObjectMetadata();
// 设置上传文件长度
meta.setContentLength(content.length());
// 设置上传MD5校验
String md5 = BinaryUtil.toBase64String(BinaryUtil.calculateMd5(content.getBytes()));
meta.setContentMD5(md5);
// 设置上传内容类型
meta.setContentType("text/plain");
==============================================
解决问题的核心:
//获取原文件名
String filename = file.getOriginalName();
//设置文件上传时的请求头信息,这样上传返回文件存储的url路径,我们通过url路径直接下载就可以得到源文件名而不是加密的随机码。
meta.setContentDisposition("attachment;filename=\""+filename+"\"");
==============================================
// 创建OSSClient实例
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 上传文件
ossClient.putObject("<yourBucketName>", "<yourKey>", new ByteArrayInputStream(content.getBytes()), meta);
// 关闭client
ossClient.shutdown();
相关文章推荐
- 阿里云存储OSS中设置上传文件content type
- 阿里云OSS文件下载设置正确,不报错也无法下载文件的问题解决方案
- django 文件上传(阿里云oss)下载(支持大文件下载)
- 阿里云存储中,下载文件时设置文件名的方法
- Android阿里云OSS多文件同步上传和删除方案
- SmartUpload上传下载及文件名和文件内容中文问题
- 阿里云OSS文件下载功能简易实现
- Node.js阿里云OSS文件上传
- secureCRT上传下载文件到阿里云Ubuntu服务器上
- 阿里云ubuntu上传下载文件 --- 安装 lrzsz,使用rz和sz命令上传或下载文件
- 设置IIS6.0的上传文件和下载附件的大小限制
- 阿里云OSS通过URL上传文件
- java截取文件上传或下载的文件名及后缀
- 正确设置Firefox下载文件文件名的方法
- Windows环境下用C#编程将文件上传至阿里云OSS笔记
- java/resteasy批量下载存储在阿里云OSS上的文件,并打包压缩
- java ftp上传下载,下载文件编码设置
- 如何在Phpstorm中设置FTP,并快速进行文件比较,上传下载,同步等操作
- 阿里云设置CDN加速访问OSS文件
- 浏览器下载阿里云OSS文件