简介
本文档提供关于盲水印相关的 API 概览以及 SDK 示例代码。关于盲水印 API 文档,请参见 盲水印。
SDK API 参考
SDK 所有接口的具体参数与方法说明,请参见 SDK API。
添加盲水印
功能说明
盲水印支持在上传时添加和下载时添加。
示例代码一:上传时添加盲水印
Objective-C
QCloudPutObjectWatermarkRequest* put = [QCloudPutObjectWatermarkRequest new];
// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"put.object = @"exampleobject";// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketput.bucket = @"examplebucket-1250000000";put.body = [@"123456789" dataUsingEncoding:NSUTF8StringEncoding];QCloudPicOperations * op = [[QCloudPicOperations alloc]init];
// 是否返回原图信息。0表示不返回原图信息,1表示返回原图信息,默认为0op.is_pic_info = NO;QCloudPicOperationRule * rule = [[QCloudPicOperationRule alloc]init];
// 处理结果的文件路径名称,如以/开头,则存入指定文件夹中,否则,存入原图文件存储的同目录rule.fileid = @"test";
// 盲水印图片在cos上的地址:如 http://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/protection_blind_watermark_icon.pngrule.imageURL = @"watermarkURL"; // 水印文字只能是 [a-zA-Z0-9] //操作:有效值 :QCloudPicOperationRuleActionPut:添加盲水印 QCloudPicOperationRuleActionExtrac:提取盲水印rule.actionType =QCloudPicOperationRuleActionPut;// 盲水印类型,有效值:QCloudPicOperationRuleHalf 半盲;QCloudPicOperationRuleFull: 全盲;QCloudPicOperationRuleText 文字rule.type = QCloudPicOperationRuleFull;op.rule = @[rule];put.picOperations = op;[put setFinishBlock:^(QCloudPutObjectWatermarkResult *outputObject, NSError *error) {
}];[[QCloudCOSXMLService defaultCOSXML] PutWatermarkObject:put];
说明更多完整示例,请前往 GitHub 查看。Swift
let put = QCloudPutObjectWatermarkRequest<AnyObject>();
// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"put.object = "exampleobject";// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketput.bucket = "examplebucket-1250000000";put.body = "123456789".data(using: .utf8)! as NSData;let op = QCloudPicOperations.init();
// 是否返回原图信息。0表示不返回原图信息,1表示返回原图信息,默认为0op.is_pic_info = false;
let rule = QCloudPicOperationRule.init();
// 处理结果的文件路径名称,如以/开头,则存入指定文件夹中,否则,存入原图文件存储的同目录
rule.fileid = "test";//操作:有效值 :QCloudPicOperationRuleActionPut:添加盲水印 QCloudPicOperationRuleActionExtrac:提取盲水印rule.actionType = .put;
// 盲水印类型,有效值:QCloudPicOperationRuleHalf 半盲;QCloudPicOperationRuleFull: 全盲;QCloudPicOperationRuleText 文字rule.type = .full;// 盲水印图片在cos上的地址:如 http://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/watermark_icon.pngrule.imageURL = "watermarkURL";op.rule = [rule];put.picOperations = op;put.setFinish { (outoutObject, error) in
};QCloudCOSXMLService.defaultCOSXML().putWatermarkObject(put);
说明更多完整示例,请前往 GitHub 查看。
示例代码二:下载时添加盲水印
Objective-C
QCloudGetObjectRequest * request = [QCloudGetObjectRequest new];
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketrequest.bucket = @"examplebucket-1250000000";
// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"request.object = @"exampleobject";
//处理参数,规则参见:https://cloud.tencent.com/document/product/436/46782request.watermarkRule = @"watermark/3/type/2/image/aHR0cDovL2NpLTEyNTM2NTMzNjcuY29zLmFwLWd1YW5nemhvdS5teXFjbG91ZC5jb20vcHJvdGVjdGlvbl9ibGluZF93YXRlcm1hcmtfaWNvbi5wbmc=";
// 设置下载的路径 URL,如果设置了,文件将会被下载到指定路径中request.downloadingURL = [NSURL fileURLWithPath:@"Local File Path"];
// 本地已下载的文件大小,如果是从头开始下载,请不要设置request.localCacheDownloadOffset = 100;
// 监听下载结果[request setFinishBlock:^(id outputObject, NSError *error) { // outputObject 包含所有的响应 http 头部 NSDictionary* info = (NSDictionary *) outputObject;}];
// 监听下载进度[request setDownProcessBlock:^(int64_t bytesDownload, int64_t totalBytesDownload, int64_t totalBytesExpectedToDownload) {
// bytesDownload 新增字节数 // totalBytesDownload 本次下载接收的总字节数 // totalBytesExpectedToDownload 本次下载的目标字节数}];
[[QCloudCOSXMLService defaultCOSXML] defaultCOSXML:request];
说明更多完整示例,请前往 GitHub 查看。Swift
let request : QCloudGetObjectRequest = QCloudGetObjectRequest();
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketrequest.bucket = "examplebucket-1250000000";
// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"request.object = "exampleobject";
// 设置下载的路径 URL,如果设置了,文件将会被下载到指定路径中request.downloadingURL = NSURL.fileURL(withPath: "Local File Path") as URL?;
// 本地已下载的文件大小,如果是从头开始下载,请不要设置request.localCacheDownloadOffset = 100;
//处理参数,规则参见:https://cloud.tencent.com/document/product/436/46782request.watermarkRule = @"watermark/3/type/2/image/aHR0cDovL2NpLTEyNTM2NTMzNjcuY29zLmFwLWd1YW5nemhvdS5teXFjbG91ZC5jb20vcHJvdGVjdGlvbl9ibGluZF93YXRlcm1hcmtfaWNvbi5wbmc=";
// 监听下载进度request.sendProcessBlock = { (bytesDownload, totalBytesDownload, totalBytesExpectedToDownload) in
// bytesDownload 新增字节数 // totalBytesDownload 本次下载接收的总字节数 // totalBytesExpectedToDownload 本次下载的目标字节数}
// 监听下载结果request.finishBlock = { (result, error) in if let result = result { // result 包含响应的 header 信息 } else { print(error!); }}
QCloudCOSXMLService.defaultCOSXML().getObject(request);
说明更多完整示例,请前往 GitHub 查看。
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/145728.html