文档预览功能支持PPT、XLS、DOC、PDF等格式文件的在线预览,便于您进行文档内容管理与访问。

说明
  • 要使用文档预览功能,您需要先开通智能媒体管理IMM,并在OSS中绑定IMM,详情请参见快速开始
  • 文档预览不支持预览大于200 MB的文件。

参数

操作名称:imm/previewdoc

参数说明如下:

名称 取值 描述
copy 0、1 指定预览文件是否能够复制文档内容。

值为1,表示支持复制。

值为0,表示不支持复制。

流程介绍

说明 无论源文件权限是否为公共读,出于安全性考虑此处建议使用URL签名方式。

文档预览流程如下:

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

示例

假如请求的Bucket为doc-demo,该Bucket所在区域为华东 1,对应的域名为oss-cn-hangzhou.aliyuncs.com,请求预览的文件为example.docx,权限为公共读。通过配置参数copy_1可以复制预览的文档内容。
http://doc-demo.oss-cn-hangzhou.aliyuncs.com/example.docx?x-oss-process=imm/previewdoc,copy_1
如果是私有文件,您需要使用AccessKey ID、AccessKey Secret签名后得到SignURL进行访问。您可以通过SDK生成带签名的文档预览URL,代码与生成带签名的图片处理URL相似,只需要将图片处理的操作改为文档预览操作的即可。以Java SDK为例,代码如下:
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
String bucketName = "<yourBucketName>";
String objectName = "<yourObjectName>";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 设置视频截帧操作。
String style = "imm/previewdoc,copy_1";
// 指定过期时间为10分钟。
Date expiration = new Date(new Date().getTime() + 1000 * 60 * 10 );
GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, objectName, HttpMethod.GET);
req.setExpiration(expiration);
req.setProcess(style);
URL signedUrl = ossClient.generatePresignedUrl(req);
System.out.println(signedUrl);
// 关闭OSSClient。
ossClient.shutdown();
生成带签名的图片处理URL的SDK请参见: