开发者社区 > 云存储 > 对象存储OSS > 正文

【OSS】访问存储在OSS中的资源时资源被强制下载,该如何解决?

已解决

上传文件、图片到阿里云对象存储OSS后,使用浏览器访问阿里云OSS资源,OSS资源被强制下载,该如何解决?

展开
收起
云上猫猫 2022-01-18 17:02:16 3146 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    出于安全考虑,从2019年9月23日起,针对之后新建的Bucket,直接使用OSS提供的默认域名,从互联网访问OSS上该Bucket的图片类型文件时,Content-Type(Mime-Type)为image/jpeg、image/gif、image/tiff、image/png、image/webp、image/svg+xml、image/bmp、image/x-ms-bmp、image/x-cmu-raster、image/exr、image/x-icon、image/heic,扩展名包括jpg、jpeg、jpe、png、tif、tiff、gif、svg、bmp、ico、ras、dib、svgz、webp、bm、jfif、x-png、exr、heic时,Response Header中会自动加上Content-Disposition:'attachment=filename;'。即从浏览器访问图片类型文件时,会以附件形式进行下载。建议您可以使用自定义域名访问OSS请求,如何绑定自定义域名请参见绑定自定义域名,默认情况下不会强制下载。详情请参见OSS升级通知

    说明:2019年9月23日0点之前已创建的Bucket不在影响范围以内。

    若您使用自定义域名还是出现强制下载问题时,可以参考以下步骤解决问题:

    1、在浏览器中可以查看Header的设置。如Chrome浏览器,按键盘F12打开开发者工具,在Network中查看具体请求携带的Content-Type和Content-Disposition的设置。

    注意: a.Content-Disposition如果设置为attachment,就是会强制下载;设置为inline,则会在线打开。 b.Content-Type如果设置为application/octet-stream也会导致强制下载,这个是二进制的下载流。已上传到OSS中的文件如何修改Content-Type,请参见set-meta(管理文件元信息),使用ossutil工具进行修改,也可执行下一步,在控制台进行修改。 6.png

    2、登录OSS管理控制台,单击目标Bucket,然后单击文件管理,找到需要设置的资源,依次单击右侧对应的更多>设置 HTTP 头。

    7.png

    3、然后设置准确的Content-Type,并且取消Content-Disposition的设置,然后单击确认即可,具体如何设置HTTP头请参见设置文件HTTP头

    8.png

    4、如果问题没有解决且对应的资源开启了CDN加速,源资源的Content-Type设置正确,但是未设置Content-Disposition,说明可能是CDN缓存了错误的Content-Type或者Content-Disposition。那么可以参见刷新缓存,更新缓存信息。

    5、如果问题还是没有解决,那么判断是浏览器不支持对应格式资源的展示。如果是Web应用,建议添加对应的控件,支持对应格式资源的展示。

    2022-01-18 17:34:54
    赞同 展开评论 打赏

对象存储 OSS 是一款安全、稳定、高性价比、高性能的云存储服务,可以帮助各行业的客户在互联网应用、大数据分析、机器学习、数据归档等各种使用场景存储任意数量的数据,以及进行任意位置的访问,同时通过丰富的数据处理能力更便捷地使用数据。

相关产品

  • 对象存储
  • 热门讨论

    热门文章

    相关电子书

    更多
    OSS运维进阶实战手册 立即下载
    《OSS运维基础实战手册》 立即下载
    OSS运维基础实战手册 立即下载