上传文件、图片到阿里云对象存储OSS后,使用浏览器访问阿里云OSS资源,OSS资源被强制下载。
访问存储在OSS的文件、图片等被强制下载的可能原因如下所示:
出于安全考虑,从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
若您使用自定义域名还是出现强制下载问题时,可以参考以下步骤解决问题:
F12
打开开发者工具,在Network中查看具体请求携带的Content-Type和Content-Disposition的设置。
注意:
- Content-Disposition如果设置为attachment,就是会强制下载;设置为inline,则会在线打开。
- Content-Type如果设置为application/octet-stream也会导致强制下载,这个是二进制的下载流。已上传到OSS中的文件如何修改Content-Type,请参见set-meta(管理文件元信息),使用ossutil工具进行修改,也可执行下一步,在控制台进行修改。
在CDN控制台上配置OSS源站或在OSS控制台上配置CDN,使用CDN域名浏览后缀为html的文件时,直接变为下载该文件,请参见如何解决CDN域名访问.html文件变成了下载该文件。
如果您的问题仍未解决,您可以在阿里云社区提交工单联系阿里云技术支持。