文档首页> 对象存储服务 OBS> 常见问题> 桶和对象相关> 如何在浏览器中在线预览OBS中的对象?
更新时间:2024-03-04 GMT+08:00

如何在浏览器中在线预览OBS中的对象?

背景信息

基于安全合规要求,华为云对象存储服务OBS禁止通过OBS的默认域名(桶访问域名或静态网站访问域名)在线预览桶内对象,即使用上述域名从浏览器访问桶内对象(如视频、图片、网页等)时,不会显示对象内容,而是以附件形式下载。

各区域将自以下两个时间点起生效:

自2022年1月1日起生效:华北-北京一、华北-北京四、华东-上海一、华东-上海二、华南-广州

自2022年3月25日起生效:中国-香港、亚太-曼谷、亚太-新加坡、非洲-约翰内斯堡、拉美-墨西哥城一、拉美-墨西哥城二、拉美-圣保罗一、拉美-圣地亚哥、亚太-雅加达

解决思路

OBS默认域名强制下载后,推荐用户使用自有域名实现在线预览。

OBS为您提供以下几种方案:

方案一:使用OBS自定义域名访问

方案二:使用OBS自定义域名+CDN方式访问

方案三:CDN私有桶回源方式访问

如果您已经为桶配置了自定义域名并使用CDN加速,但仍然强制下载,请参考CDN加速场景下访问OBS桶内对象变成强制下载处理。

方案一:使用OBS自定义域名访问

方案优劣势及约束限制说明

  • 需要设置桶策略为公共读,桶内所有对象均可被匿名用户访问。
  • 按照工信部要求,您绑定自定义域名的桶如果在以下区域,需要提前完成ICP备案。

    包括:华北-北京一、华北-北京四、华东-上海一、华东-上海二、华南-广州

  • 只支持HTTP方式访问,不支持HTTPS方式访问。

配置步骤

  1. 为OBS桶绑定自定义域名。

    绑定的方法请参见绑定自定义域名。按照参考文档配置时,CNAME配置为OBS桶域名。

  2. 验证对象是否可以在线预览。

    配置成功后,将“http://自定义域名/对象访问路径”拼接成的链接分享给用户,用户可以在浏览器中通过此链接直接预览文件。

    如仍不能在线预览,请检查对象元数据ContentType值是否是浏览器支持的在线展示类型。

    例如对象是一个mp4格式的视频文件,则设置ContentType为“video/mp4”;对象是一个jpg格式的图片文件,则设置ContentType为“image/jpeg”。OBS支持的ContentType类型请参见对象元数据Content-Type介绍

    您可以通过管理控制台、API和SDK来设置对象元数据ContentType。

方案二:使用OBS自定义域名+CDN方式访问

方案优劣势及约束限制说明

  • 需要设置桶策略为公共读,桶内所有对象均可被匿名用户访问。
  • 按照工信部要求,您绑定自定义域名的桶如果在以下区域,需要提前完成ICP备案。

    包括:华北-北京一、华北-北京四、华东-上海一、华东-上海二、华南-广州

  • 该方案支持HTTPS访问。如果需要使用HTTPS,需要将证书导入CDN。详情请参见HTTPS证书配置

配置步骤

  1. 在CDN控制台将准备好的自有域名添加为加速域名。

    添加方法请参见添加CDN加速域名。其中“源站类型”选择“源站域名”,并将源站配置为OBS桶域名,HTTP端口:80,HTTPS端口:443。在相应域名的“高级配置”中添加“Content-Disposition”响应头,取值为“inline”。

  2. 将自有域名绑定到OBS桶。

    绑定的方法请参见绑定自定义域名。注意:按照参考文档配置时,CNAME配置为CDN分配的CNAME域名。

  3. 验证对象是否可以在线预览。

    配置成功后,将“http://自定义域名/对象访问路径”拼接成的链接分享给用户,用户可以在浏览器中通过此链接直接预览文件。

    如仍不能在线预览,请检查对象元数据ContentType值是否是浏览器支持的在线展示类型。

    例如对象是一个mp4格式的视频文件,则设置ContentType为“video/mp4”;对象是一个jpg格式的图片文件,则设置ContentType为“image/jpeg”。OBS支持的ContentType类型请参见对象元数据Content-Type介绍

    您可以通过管理控制台、API和SDK来设置对象元数据ContentType。

  4. (可选)如果仍然不能在线预览,参考解决方案中“方案一”进行配置后再试。

方案三:CDN私有桶回源方式访问

方案优劣势及约束限制说明

  • 该方案不需要将桶设置为公共读,可用私有桶实现。
  • 该方案不需要配置OBS自定义域名,仅需在CDN配置加速域名。按照工信部要求,您的桶如果在以下区域,使用的加速域名需要提前完成ICP备案。

    包括:华北-北京一、华北-北京四、华东-上海一、华东-上海二、华南-广州

  • 该方案支持HTTPS访问。如果需要使用HTTPS,需要将证书导入CDN。详情请参见HTTPS证书配置

配置步骤

  1. 在CDN控制台将准备好的自有域名添加为加速域名。

    添加方法请参见添加CDN加速域名。其中“源站类型”选择“OBS桶域名”,并在源站中选择对应的OBS桶域名。

  2. 开启私有桶回源功能。

    开启方法请参见OBS私有桶回源

  3. 在DNS上进行CNAME配置。

    配置方法请参见绑定自定义域名中的CNAME配置步骤。其中,CNAME配置为CDN分配的CNAME域名。

  4. 验证对象是否可以在线预览。

    配置成功后,将“http://自定义域名/对象访问路径”拼接成的链接分享给用户,用户可以在浏览器中通过此链接直接预览文件。

    如仍不能在线预览,请检查对象元数据ContentType值是否是浏览器支持的在线展示类型。

    例如对象是一个mp4格式的视频文件,则设置ContentType为“video/mp4”;对象是一个jpg格式的图片文件,则设置ContentType为“image/jpeg”。OBS支持的ContentType类型请参见对象元数据Content-Type介绍

    您可以通过管理控制台、API和SDK来设置对象元数据ContentType。