使用OSS自带的域名 文件怎么变成预览了-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

使用OSS自带的域名 文件怎么变成预览了

badou 2016-03-16 13:46:44 3363

不是说 使用OSS自带的域名 会导致文件强制下载吗 前段时间好好的 怎么又突然变成预览模式了

对象存储
分享到
取消 提交回答
全部回答(1)
  • xiongmaodq
    2019-07-17 18:34:15

    今年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);
    
    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章
相似问题