简介
本文档提供关于数据万象文档预览任务的相关 API 概览以及 SDK 示例代码。
API | 操作描述 |
生成同步预览转 HTML 链接 |
功能说明
支持对多种文档类型的文件生成 HTML 链接预览。
示例代码
using System.Text;using System.Text.Json;using COSXML;using COSXML.Auth;using COSXML.Model.CI;using COSXML.Utils;namespace COSXMLDemo{public class CreateDocPreviewJobModel{public CosXml cosXml;// 初始化 COS 服务实例private void InitCosXml(){string region = Environment.GetEnvironmentVariable("COS_REGION");string appid = Environment.GetEnvironmentVariable("APPID");CosXmlConfig config = new CosXmlConfig.Builder().SetRegion(region) // 设置默认的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224.SetAppid(appid).Build();string secretId = Environment.GetEnvironmentVariable("SECRET_ID"); // 云 API 密钥 SecretId, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capistring secretKey = Environment.GetEnvironmentVariable("SECRET_KEY"); // 云 API 密钥 SecretKey, 获取 API 密钥请参照 https://console.cloud.tencent.com/cam/capilong durationSecond = 600; //每次请求签名有效时长,单位为秒QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, secretKey, durationSecond);this.cosXml = new CosXmlServer(config, qCloudCredentialProvider);}CreateDocPreviewJobModel(){InitCosXml();}public void CreateDocPreviewJob(){try{string bucketName = "bucketname-APPID";string objectKey = "";CreateDocPreviewRequest request = new CreateDocPreviewRequest(bucketName,objectKey);// 输入文件类型request.SetSrcType("txt");// 是否可复制。默认为可复制,填入值为1;不可复制,填入值为0request.SetCopyable("1");// 创建并初始化 HtmlParams 对象var htmlParams = new CreateDocPreviewRequest.HtmlParams{CommonOptions = new CreateDocPreviewRequest.CommonOptions{IsShowTopArea = true,IsShowHeader = true,Language = "zh",isBrowserViewFullscreen = true,isIframeViewFullscreen = true,},WordOptions = new CreateDocPreviewRequest.WordOptions{isShowDocMap = false,isBestScale = false,},PdfOptions = new CreateDocPreviewRequest.PdfOptions{isShowComment = false,isInSafeMode = false,isShowBottomStatusBar = false,},};request.SetHtmlParams(DigestUtils.GetBase64(JsonSerializer.Serialize(htmlParams), Encoding.UTF8));request.SetHtmlWaterword("5pWw5o2u5LiH6LGhLeaWh+aho+mihOiniA==");request.SetHtmlFillstyle("cmdiYSgxMDIsMjA0LDI1NSwwLjMp");request.SetHtmlFront("Ym9sZCAyNXB4IFNlcmlm");request.SetHtmlRotate("315");request.SetHtmlHorizontal("50");request.SetHtmlVertical("100");request.SetHtmlTitle("6IW+6K6v5LqRLeaVsOaNruS4h+ixoQ==");// 设置预签名时间request.SetSignExpired(600);String createDocPreviewUrl = cosXml.createDocPreview(request);Console.WriteLine(createDocPreviewUrl);}catch (COSXML.CosException.CosClientException clientEx){Console.WriteLine("CosClientException: " + clientEx);}catch (COSXML.CosException.CosServerException serverEx){Console.WriteLine("CosServerException: " + serverEx.GetInfo());}}public static void CreateDocPrewivewJobModelMain(){CreateDocPreviewJobModel m = new CreateDocPreviewJobModel();m.CreateDocPreviewJob();}}}
说明
参数说明
初始化 COS 服务实例具体数据描述如下:
Request 具体的数据描述如下:
名称 | 描述 | 类型 | 是否必选 |
objectKey | 对象文件名,例如 folder/document.pdf | String | 是 |
bucketName | String | 是 | |
srcType | String | 否 | |
signExpired | 签名过期时间 | Integer | 否 |
copyable | 是否可复制。默认为可复制,填入值为1;不可复制,填入值为0 | String | 否 |
htmlwaterword | String | 否 | |
htmlfillstyle | 默认为:rgba(192,192,192,0.6) | String | 否 |
htmlfront | String | 否 | |
htmlrotate | 水印文字旋转角度,0 - 360,默认315度 | String | 否 |
htmlhorizontal | 水印文字水平间距,单位 px,默认为50 | String | 否 |
htmlvertical | 水印文字垂直间距,单位 px,默认为100 | String | 否 |
返回结果说明
成功:返回预览链接。
失败:发生错误(如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理。