全部产品
云市场
    访问OSS资源后资源被强制下载

访问OSS资源后资源被强制下载

更新时间:2020-01-03 16:05:09

问题描述

使用浏览器访问OSS资源,OSS资源被强制下载。

 

问题原因

文件被强制下载可能的原因如下所示。

  • 使用OSS提供的默认域名,且没有经过其他配置。
  • 对应资源的Content-Type设置错误。
  • 对应资源的Content-Disposition设置错误。
  • CDN缓存了错误的Content-Type或者Content-Disposition。
  • 浏览器不支持该格式资源的展示。

 

解决方案

出于安全考虑,从2019年9月23日起,针对之后新建的Bucket,直接使用OSS提供的默认域名,从互联网访问OSS上该Bucket的图片类型文件时,mimetype为以下值,Response Header中会自动加上Content-Disposition:'attachment=filename;'。即从浏览器访问图片类型文件时,会以附件形式进行下载。建议用户可以使用自定义域名访问OSS请求,默认情况下不会强制下载。详情请参阅OSS升级通知

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

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

 

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

  1. 登录OSS管理控制台,单击目标Bucket,然后单击 文件管理,找到需要设置的资源,依次单击右侧对应的 更多 > 设置 HTTP 头
  2. 然后设置准确的Content-Type,并且取消Content-Disposition的设置,然后单击 确认 即可,具体如何设置HTTP头请参考设置文件HTTP头
  3. 如果问题没有解决且对应的资源开启了CDN加速,源资源的Content-Type设置正确,但是未设置Content-Disposition,说明可能是CDN缓存了错误的Content-Type或者Content-Disposition。那么可以刷新缓存,更新缓存信息。
  4. 如果问题还是没有解决,那么判断是浏览器不支持对应格式资源的展示。如果是Web应用,建议添加对应的控件,支持对应格式资源的展示。

 

相关文档

静态网站托管配置请参见设置静态网站托管

 

适用于

  • 对象存储 OSS