文档预览

您所在的位置:网站首页 如何设置预览文件 文档预览

文档预览

2024-04-14 03:18| 来源: 网络整理| 查看: 265

前提条件

已开通智能媒体管理IMM,并在OSS中绑定IMM。具体操作,请参见快速入门。

如果您通过RAM用户使用IMM相关功能,需确保RAM用户拥有以下权限。

系统权限:AliyunOSSReadOnlyAccess和AliyunIMMFullAccess

关于为RAM用户授权的具体操作,请参见为RAM用户授权。

自定义权限:oss:ProcessImm和ram:GetRole

为RAM用户授予自定义权限时,您需要先创建对应的自定义权限,然后为RAM用户授权。具体操作,请参见为RAM用户授予自定义的权限策略。

注意事项

支持在线预览的文件类型

表格文件: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的文件。

预览的方式

无论请求预览的文档读写权限为公共读或私有,都需要通过AccessKey ID、AccessKey Secret签名后得到的URL进行预览访问。

费用说明

本文的文档预览操作使用IMM文档预览V1接口,关于该接口的计费,请参见IMM旧版产品计费说明。

参数

操作名称:imm/previewdoc

参数说明如下:

名称

描述

copy

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

1:支持复制文档内容。

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

流程介绍image

文档预览流程如下:

客户端App或者Web端向业务服务器发起预览请求,并提供要预览的文件名。

业务服务器根据请求文件进行URL签名,将签名完成的URL提供给客户端App或者Web端。

客户端App或者Web端通过签名URL直接预览访问OSS文件。

重要

不支持通过签名URL直接预览已加密的文件。您可以通过以下步骤预览加密的文件:

通过JavaScript API设置加密文件解密流程。具体步骤,请参见设置加密文件解密流程。

调用智能媒体管理的CreateOfficeConversionTask接口,将原始文档转换为VECTOR向量格式输出到指定的OSS目录。

使用阿里云SDK

生成带签名的文档预览URL与生成带签名的图片处理URL方法类似,仅需将图片处理的操作改为文档预览操作即可。

下仅列举常见SDK的生成带签名的文档预览URL的代码示例。关于其他SDK的生成带签名的文档预览URL代码示例,请参见SDK简介。

import com.aliyun.oss.*; import com.aliyun.oss.common.auth.*; import com.aliyun.oss.model.GeneratePresignedUrlRequest; import java.net.URL; import java.util.Date; public class Demo { public static void main(String[] args) throws Throwable { // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。 String endpoint = "https://oss-cn-hangzhou.aliyuncs.com"; // 强烈建议不要把访问凭证保存到工程代码里,否则可能导致访问凭证泄露,威胁您账号下所有资源的安全。本代码示例以从环境变量中获取访问凭证为例。运行本代码示例之前,请先配置环境变量。 EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider(); // 填写Bucket名称,例如examplebucket。 String bucketName = "examplebucket"; // 填写Object完整路径,完整路径中不能包含Bucket名称。 String objectName = "exampledir/exampleobject.txt"; // 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider); try { // 设置样式,样式中包含文档预览参数。 String style = "imm/previewdoc,copy_1"; // 指定签名URL过期时间为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); } catch (OSSException oe) { System.out.println("Caught an OSSException, which means your request made it to OSS, " + "but was rejected with an error response for some reason."); System.out.println("Error Message:" + oe.getErrorMessage()); System.out.println("Error Code:" + oe.getErrorCode()); System.out.println("Request ID:" + oe.getRequestId()); System.out.println("Host ID:" + oe.getHostId()); } catch (ClientException ce) { System.out.println("Caught an ClientException, which means the client encountered " + "a serious internal problem while trying to communicate with OSS, " + "such as not being able to access the network."); System.out.println("Error Message:" + ce.getMessage()); } finally { if (ossClient != null) { ossClient.shutdown(); } } } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3