全部产品
云市场

文档预览

更新时间:2018-12-25 16:28:29

IMM 支持 ppt、xls、doc、pdf 等 48 种格式 的文档在线预览,提供便捷的文档内容管理与访问体验。

参数

操作名称:x-oss-process =imm/previewdoc

名称 描述 取值范围
copy 预览文件时,控制是否能够复制文档内容。
值为 1,表示支持复制;
值是 0,表示不支持复制;
0/1

注意事项

文档预览,无论源文件是否公共读,为了安全性考虑都统一采用签名方式使用,所以前端预览流程如下:

签名流程

  1. 客户端向服务端发起预览请求,提供要预览的文件;
  2. 服务端根据请求文件进行 URL 签名,将签名好的 URL 提供到客户端;
  3. 客户端拿到签名后直接访问 OSS 查看文件;

示例

假如请求 Bucket 是 doc-demo,该 Bucket 在 华东1 区域,对应域名是 oss-cn-hangzhou.aliyuncs.com,请求预览的文档是 example.docx, 通过参数copy=1配置预览文档内容可复制

  1. http://doc-demo.oss-cn-hangzhou.aliyuncs.com/example.docx?x-oss-process=imm/previewdoc,copy_1

如上 URL 使用 RAM 的 Access KeyID 和 Secret 签名后,得到 SignURL 进行访问。

示例

SDK 请求示例

  1. # -*- coding: utf-8 -*-
  2. import json
  3. import oss2
  4. # Endpoint 以上海为例,其它 Region 请按实际情况填写。
  5. endpoint = 'http://oss-cn-shanghai.aliyuncs.com'
  6. # 阿里云账号拥有所有 API 的访问权限,风险很高。强烈建议您创建并使用 RAM 子账号进行 API 访问或日常运维,请登录 https://ram.console.aliyun.com 创建子账号。
  7. access_key_id = "<acess_key_id>"
  8. access_key_secret = "<acess_key_secret>"
  9. bucket_name = "<bucket_name>"
  10. objectKey = "example.docx"
  11. # 创建存储空间实例,所有文件相关的方法都需要通过存储空间实例来调用。
  12. bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name)
  13. # 文档预览 获取 signURL
  14. process = 'imm/previewdoc,copy_1'
  15. params = {}
  16. params.update({bucket.PROCESS: process})
  17. url = bucket.sign_url("GET", objectKey, 3600, params=params)
  18. #打印结果
  19. print url