You need to enable JavaScript to run this app.
导航

如何在浏览器预览和下载对象?

最近更新时间2024.03.05 10:07:42

首次发布时间2024.03.05 10:07:42

本文介绍访问存储桶内文件时的文件分发策略,以及如何在浏览器预览对象、下载对象。

文件分发策略

使用存储桶的默认域名在浏览器访问文件时,浏览器会直接下载非常见文件类型,而对于常见的文件类型(根据 content-type 判断),浏览器根据是否返回头域 content-disposition: attachment 来决定下载文件还是浏览文件。常见的文件类型如下:

  • 文本文件(.txt、.csv、.xml 等)
  • 图片文件(.jpg、.png、.gif 等)
  • PDF 文件(.pdf)
  • Microsoft Office 文档(.doc、.docx、.xls、.xlsx、.ppt、.pptx 等)
  • HTML

访问对象时,TOS 是否返回头域 content-disposition: attachment 受存储桶创建时间和文件类型的影响,说明如下:

创建时间

返回头域说明

2024 年 01 月 03 日 23:59:59 之前创建的存储桶

出于安全合规考虑,从 2022 年 10 月 18 日开始,如果您使用存储桶的默认域名访问网页类型文件(mimetype 为 text/html,扩展名包括 HTM、HTML、JSP、PLG、HTX、STM),Response Header 中会自动加上 Content-Disposition:attachment,即从浏览器访问网页类型文件时,将不会直接预览网站,而会将网站的内容下载到本地;其他类型的对象可直接预览。

2024 年 01 月 03 日 23:59:59 之后创建的存储桶

使用默认域名以预签名或匿名方式访问文件,TOS 会在 Response Header 中自动添加 Content-Disposition:attachment 参数,即任意类型的文件均会直接下载到本地,而非在线预览。详细域名变更说明,请参见对象存储桶域名使用限制变更公告和站内信等。

因此,通过存储桶的默认域名访问对象时,只有在 2024 年 01 月 03 日 23:59:59 之前创建的存储桶,且访问的非网页类型文件,才可以在浏览器预览对象。如果您访问的存储桶和文件类型不满足该条件,将直接下载对象。

在浏览器预览对象

您可以通过以下方法在浏览器预览常见类型的文件。说明如下:

在浏览器下载对象

您还可以通过以下方法,将预览对象修改为下载对象:

  • 上传对象时,在 Header 设置 content-disposition: attachment 参数。详细介绍,请参见PutObject
  • 下载对象时,在 Query 设置 response-content-disposition=attachment 参数。详细介绍,请参见GetObject