完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
摘要: 智能媒体管理提供了 Cloud Native 架构的文档转换/预览服务,本文介绍快速搭建的示例,让您用 DIY 的体验方式实现文档预览功能。一、导语智能媒体管理 提供了 Cloud Native 架构的文档转换/预览服务,本文介绍快速搭建的示例,让您用 DIY 的体验方式实现文档预览功能。二、环境准备2.1 准备 RAM 子账号为了实现安全的文档转换/预览功能,本文使用 RAM 子账号来管理资源并进行代码开发。2.1.1 创建 test 子账号登陆 访问控制 页面,点击“用户管理”,选择“新建用户”,创建子账号 test ,创建成功如下图所示:
注意:目前每个子账号最多使用2个 AK,可以通过删除旧的 AK 来解决。 注意:该桶名只是示例,不能直接使用,需要替换为您的桶名。2.3 准备 IMM 服务转换/预览使用 IMM 服务,先 开通产品 产品,然后 创建项目,如下图所示,在 华东2(上海区域)创建了 imm 项目。 注意:在 pom.xml 文件中添加 aliyun-java-sdk-core 和 aliyun-java-sdk-imm 的版本依赖。 <dependency> <groupId>com.aliyungroupId> <artifactId>aliyun-java-sdk-coreartifactId> <optional>trueoptional> <version>3.5.1version>dependency><dependency> <groupId>com.aliyungroupId> <artifactId>aliyun-java-sdk-immartifactId> <optional>trueoptional> <version>1.2.1version>dependency>三、开发部署3.1 转换代码环境准备好后,可以参考如下 Java 代码实现文档转换,技术细节请参考 转换原理。import com.aliyuncs.imm.main.IMMClient;import com.aliyuncs.imm.model.v20170906.*;import com.aliyuncs.exceptions.*;public class TestImmOffice { public static void main(String[] args) { String accessKeyId = "LTAIxxxxxxxxxxx"; //RAM 中 test 子账号的 AK ID String accessKeySecret = "W1yyyyyyyyyyyyyyyyyyyy"; //RAM 中 test 子账号的 AK Secret IMMClient client = new IMMClient("cn-shanghai", accessKeyId, accessKeySecret); ConvertOfficeFormatResponse resp = new ConvertOfficeFormatResponse(); ConvertOfficeFormatRequest req = new ConvertOfficeFormatRequest(); req.setProject("IMM"); //在 IMM 中创建的项目 req.setSrcUri("oss://yourid-dev-imm/test-data/office/paxos.pptx"); //OSS 源文件路径 req.setTgtUri("oss://yourid-dev-imm/test-data/office/paxos.pptx/output"); //OSS 转换文件路径 req.setTgtType("vector"); try { resp = client.getResponse(req); System.out.printf("requestId=%s, taskId=%s, tgtloc=%s", resp .getRequestId(), resp.getTaskId(),resp.getTgtLoc()); }catch (ClientException e){ System.out.println("error"); } }}转换成功后,您将在 OSS 的 yourid-dev-imm 桶(华东2---上海区域),对应 test-data/office/paxos.pptx/output/doc 目录下(注意:转换引擎增加了 doc后缀),得到 meta.json , fp*.json, 以及 I 目录下的文件。3.2 预览部署转换成功后,可以基于部署的前端预览引擎实现预览功能,技术介绍请参考 预览原理。如下图所示,在 yourid-dev-imm 桶(华东2---上海区域)中添加了preview目录,它包含了预览引擎的文件。 注意:实际使用时请把 yourid-dev-imm 更换为您的桶。3.3.1 OSS 公共读权限预览为了快速体验预览引擎的效果,我们简化 OSS 的权限配置为公共读,如下图所示。 注意:实际使用时,需要把 yourid-dev-imm 更换为自己的桶。3.3.2 OSS 私有权限预览(高安全)设置桶为私有,但让渲染引擎 preview目录下的文件为公共读,然后为转换文件申请STS Tokenpolicy = { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:*" ], "Resource": [ "acs:oss:*:" + accountId + ":" + bucket + "/" + prefix + "/*" ] }, { "Effect": "Allow", "Action": [ "oss:ListObjects" ], "Resource": [ "acs:oss:*:" + accountId + ":" + bucket ], "Condition": { "StringLike": { "oss:Prefix": prefix + "/*" } } } ] }此时把 accountId 设置为 * ,表示任意用户;bucket 设置为 yourid-dev-imm ,表示您自己创建的桶;prefix 设置为本文中的路径 test-data/office/paxos.pptx/output。然后,调用 STS 的 AssumeRole 得到 AccessKeyId,AccessKeySecret,SecurityToken三元组,然后用如下方式组合,即可实现安全的预览访问。https://yourid-dev-imm.oss-cn-shanghai.aliyuncs.com/preview/index.html?url=https://yourid-dev-imm.oss-cn-shanghai.aliyuncs.com/test-data/office/paxos.pptx/output&accessKeyId=STS.AAAAAAAAAA&accessKeySecret=BBBBBBBBBBB&stsToken=CCCCCCCCCCCCC®ion=oss-cn-shanghai&bucket=yourid-dev-imm&...四、参考文档参考如下的文章,帮助您掌握相关背景:
|
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 21:28 , Processed in 0.656252 second(s), Total 67, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖