不是说 使用OSS自带的域名 会导致文件强制下载吗 前段时间好好的 怎么又突然变成预览模式了
今年3月份oss做了产品更新,bucket域名的强制下载策略改变了的,取消了bucket域名的强制下载
如果你想实现强制下载
oss访问object实现强制下载:
如 aaaa.oss-cn-hangzhou.aliyuncs.com
想实现其下面的objectURL访问强制下载
1) 设置对应的object 的http头的contentdisposition,格式类似:格式如:attachment;filename=123.jpeg ,
2) 对aaaa这个bucket开启cdn加速,源站设置:aaaa.oss-cn-hangzhou.aliyuncs.com,回源host:aaaa.oss-cn-hangzhou.aliyuncs.com
加速成功后,设置cdn的http头的,contentdisposition参数
注意 这个设置后,该域名全站强制下载了的
3) 如果aaaa bucket为公共读写,http:// aaaa.oss-cn-hangzhou.aliyuncs.com /object?response-content-disposition=xxx
参考:目前只有js sdk可以支持的
https://github.com/ali-sdk/ali-oss#signatureurlname-options
Javasdk也是支持的代码参考如下:
String bucketName = "bucket名称";
String key = "1/2/1.jpg";
OSSClient client = new OSSClient(OSS_ENDPOINT,ACCESS_ID, ACCESS_KEY);
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, key);
Calendar cal=Calendar.getInstance();
cal.add(Calendar.MINUTE, 600);
Date date=cal.getTime();
generatePresignedUrlRequest.setExpiration(date);
ResponseHeaderOverrides rho=new ResponseHeaderOverrides();
rho.setContentDisposition("attachment;filename=123.jpeg");
generatePresignedUrlRequest.setResponseHeaders(rho);
URL url=client.generatePresignedUrl(generatePresignedUrlRequest);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。