简介
本文档提供关于基础图片处理的相关的 API 概览以及 SDK 示例代码。
SDK API 参考
上传时使用图片处理
下面示例展示了如何在上传图片时自动实现图片处理。
图片上传完成后,COS 会存储原始图片和已处理过的图片。后续用户可以通过普通的下载请求获取处理结果。
示例代码
Objective-C
QCloudPutObjectWatermarkRequest* put = [QCloudPutObjectWatermarkRequest new];// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "video/xxx/movie.mp4"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";rule.rule = @"imageMogr2/***"op.rule = @[rule];put.picOperations = op;[put setFinishBlock:^(id outputObject, NSError *error) {}];[[QCloudCOSXMLService defaultCOSXML] PutWatermarkObject:put];
说明
Swift
let put = QCloudPutObjectWatermarkRequest<AnyObject>();// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "video/xxx/movie.mp4"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";rule.rule = "imageMogr2/***"op.rule = [rule];put.picOperations = op;put.setFinish { (outoutObject, error) in};QCloudCOSXMLService.defaultCOSXML().putWatermarkObject(put);
说明
云上数据处理
下面示例展示了如何在上传图片时自动实现图片处理。
图片上传完成后,COS 会存储原始图片和已处理过的图片。后续用户可以通过普通的下载请求获取处理结果。
示例代码
Objective-C
QCloudCICloudDataOperationsRequest* put = [QCloudCICloudDataOperationsRequest new];// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "video/xxx/movie.mp4"put.object = @"exampleobject";// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucketput.bucket = @"examplebucket-1250000000";QCloudPicOperations * op = [[QCloudPicOperations alloc]init];// 是否返回原图信息。0表示不返回原图信息,1表示返回原图信息,默认为0op.is_pic_info = NO;QCloudPicOperationRule * rule = [[QCloudPicOperationRule alloc]init];// 处理结果的文件路径名称,如以/开头,则存入指定文件夹中,否则,存入原图文件存储的同目录rule.fileid = @"test";rule.rule = @"imageMogr2/***"op.rule = @[rule];put.picOperations = op;[put setFinishBlock:^(QCloudPutObjectWatermarkResult *outputObject, NSError *error) {}];[[QCloudCOSXMLService defaultCOSXML] CloudDataOperations:put];
说明
Swift
let put = QCloudCICloudDataOperationsRequest<AnyObject>();// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "video/xxx/movie.mp4"put.object = "exampleobject";// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucketput.bucket = "examplebucket-1250000000";let op = QCloudPicOperations.init();// 是否返回原图信息。0表示不返回原图信息,1表示返回原图信息,默认为0op.is_pic_info = false;let rule = QCloudPicOperationRule.init();// 处理结果的文件路径名称,如以/开头,则存入指定文件夹中,否则,存入原图文件存储的同目录rule.fileid = "test";rule.rule = "imageMogr2/***"op.rule = [rule];put.picOperations = op;put.setFinish { (outoutObject, error) in};QCloudCOSXMLService.defaultCOSXML().cloudDataOperations(put);
说明