如何配置访问OSS文件时是预览行为

在浏览器中访问OSS中的文件无法预览而是以附件形式强制下载时,请排查您的OSS、CDN、浏览器设置。

排查项目

异常原因

解决方法

OSS

使用OSS默认域名或传输加速域名访问。出于数据传输安全考虑,当使用OSS默认域名或传输加速域名访问某个时间点创建的Bucket内的特定类型文件时(例如Content-Type为text/html、image/jpeg等),OSS会强制在返回头中增加下载Header(x-oss-force-download: trueContent-Disposition: attachment)。标准浏览器检测到Content-Disposition: attachment时,会出现强制下载而不是预览行为。关于访问指定时间创建的Bucket内特定类型文件,导致强制下载行为时命中的x-oss-ec规则说明,请参见附录:强制下载命中的x-oss-ec规则

您需要使用自定义域名访问。使用自定义域名访问前,您需要完成域名绑定操作。具体步骤,请参见绑定自定义域名至Bucket默认域名

Content-Type的值与实际的文件类型不一致。浏览器无法正确解析和渲染该文件,而只能将其作为下载文件处理。

根据文件类型,设置合理的Content-Type。具体操作,请参见如何设置Content-Type(MIME)?

Content-Disposition被设置为attachment。浏览器检测到Content-Disposition: attachment时,会触发下载行为。

将Content-Disposition设置为inline。具体步骤,请参见管理文件元数据

CDN

缓存资源未刷新。

刷新CDN缓存资源。具体步骤,请参见刷新和预热资源

浏览器

不支持预览该格式的文件,例如表格文件、文字文件、演示文件以及pdf文件。

您可以为浏览器安装插件以支持预览该格式的文件。或者,您也可以使用智能媒体管理IMM的文档在线预览处理。具体步骤,请参见文档在线预览

附录:强制下载命中的x-oss-ec规则

以下为使用OSS默认域名或传输加速域名访问不同类型文件,导致强制下载时命中的x-oss-ec规则说明。

OSS默认域名

生效地域

生效时间

生效对象

Content-Type

x-oss-ec

华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北 3(张家口)、华北5(呼和浩特)、华南1(深圳)、西南1(成都)

2018年09月28日08:00或该日期之后

指定地域创建的Bucket

text/html

0048-00000001

华东5(南京-本地地域)、华东6(福州-本地地域)、华中1(武汉-本地地域)、华北6(乌兰察布)、华南2(河源)、华南3(广州)、美国(硅谷)、美国(弗吉尼亚)、 韩国(首尔)、新加坡、马来西亚(吉隆坡)、 印度尼西亚(雅加达)、菲律宾(马尼拉)、泰国(曼谷)、英国(伦敦)、阿联酋(迪拜)

2019年09月25日12:00:00或该日期之后

中国香港

2019年11月25日14:00:00或该日期之后

华北5(呼和浩特)

2019年09月23日17:00或该日期之后

  • 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

  • text/html

0048-00000100

华北1(青岛)、西南1(成都)

2019年09月24日11:00或该日期之后

0048-00000101

华北 3(张家口)

2019年09月24日17:00或该日期之后

0048-00000102

华东2(上海)、华南1(深圳)

2019年09月29日17:00或该日期之后

0048-00000103

华北2(北京)

2019年09月29日18:00或该日期之后

0048-00000104

华东1(杭州)、华北6(乌兰察布)

2019年09月30日15:00或该日期之后

0048-00000105

全部

2022年10月09日00:00或该日期之后

开通OSS的用户

全部

0048-00000113

传输加速域名

生效地域

生效时间

生效对象

Content-Type

x-oss-ec

全部

2020年12月31日00:00或该日期之后

指定地域开启了传输加速的Bucket

text/html

0048-00000002

阿联酋(迪拜)

2021年01月07日12:00或该日期之后

全部

0048-00000107

马来西亚(吉隆坡)、英国(伦敦)

2021年01月07日18:00或该日期之后

0048-00000108

日本(东京)、印度尼西亚(雅加达)、德国(法兰克福)

2021年01月08日18:00或该日期之后

0048-00000109

美国(硅谷)、美国(弗吉尼亚)、新加坡

2021年01月14日12:00或该日期之后

0048-00000110

中国香港

2021年01月16日00:00或该日期之后

0048-00000111

韩国(首尔)、菲律宾(马尼拉)、泰国(曼谷)

2023年02月01日00:00或该日期之后

0048-00000112