文档预览功能支持表格文件、文字文件、演示文件以及PDF文件的在线预览,便于您进行文档内容管理与访问。

注意事项

  • 要使用文档预览功能,您需要先开通智能媒体管理IMM,并在OSS中绑定IMM。具体操作,请参见快速开始
  • 文档预览功能支持在线预览的文件类型如下:
    • 表格文件:et、xls、xlt、xlsx、xlsm、xltx、xltm、csv
    • 文字文件:doc、docx、txt、dot、wps、wpt、dotx、docm、dotm、rtf
    • 演示文件:ppt、pptx、pptm、ppsx、ppsm、pps、potx、potm、dpt、dps
    • pdf文件:pdf
  • 文档预览功能不支持预览大于200 MB的文件。

参数

操作名称:imm/previewdoc

参数说明如下:

名称 描述
copy 指定预览文档时是否支持复制内容。取值如下:

1:支持复制文档内容。

0:不支持复制文档内容。

流程介绍

文档预览流程如下:

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

示例

无论请求预览的文档读写权限为公共读或私有,都需要通过AccessKey ID、AccessKey Secret签名后得到的URL进行预览访问。以Java SDK为例,生成带签名的文档预览URL示例代码如下:
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
// 填写Bucket名称。
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与生成带签名的图片处理URL方法类似,仅需将图片处理的操作改为文档预览操作即可。其他生成带签名的图片处理URL的SDK请参见: