tencent cloud

对象存储

动态与公告
产品动态
产品公告
产品简介
产品概述
功能概览
应用场景
产品优势
基本概念
地域和访问域名
规格与限制
产品计费
计费概述
计费方式
计费项
免费额度
计费示例
查看和下载账单
欠费说明
常见问题
快速入门
控制台快速入门
COSBrowser 快速入门
用户指南
创建请求
存储桶
对象
数据管理
批量处理
全球加速
监控与告警
运维中心
数据处理
内容审核
智能工具箱
数据工作流
应用集成
工具指南
工具概览
环境安装与配置
COSBrowser 工具
COSCLI 工具
COSCMD 工具
COS Migration 工具
FTP Server 工具
Hadoop 工具
COSDistCp 工具
HDFS TO COS 工具
GooseFS-Lite 工具
在线辅助工具
自助诊断工具
实践教程
概览
访问控制与权限管理
性能优化
使用 AWS S3 SDK 访问 COS
数据容灾备份
域名管理实践
图片处理实践
COS 音视频播放器实践
工作流实践
数据直传
内容审核实践
数据安全
数据校验
大数据实践
COS 成本优化解决方案
在第三方应用中使用 COS
迁移指南
本地数据迁移至 COS
第三方云存储数据迁移至 COS
以 URL 作为源地址的数据迁移至 COS
COS 之间数据迁移
Hadoop 文件系统与 COS 之间的数据迁移
数据湖存储
云原生数据湖
元数据加速
数据加速器 GooseFS
数据处理
数据处理概述
图片处理
媒体处理
内容审核
文件处理
文档处理
故障处理
获取 RequestId 操作指引
通过外网上传文件至 COS 缓慢
访问 COS 时返回403错误码
资源访问异常
POST Object 常见异常
API 文档
简介
公共请求头部
公共响应头部
错误码
请求签名
操作列表
Service 接口
Bucket 接口
Object 接口
批量处理接口
数据处理接口
任务与工作流
内容审核接口
云查毒接口
SDK 文档
SDK 概览
准备工作
Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Flutter SDK
Go SDK
iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
React Native SDK
小程序 SDK
错误码
鸿蒙(Harmony) SDK
终端 SDK 质量优化
安全与合规
数据容灾
数据安全
访问管理
常见问题
热门问题
一般性问题
计费计量问题
域名合规问题
存储桶配置问题
域名和 CDN 问题
文件操作问题
日志监控问题
权限管理问题
数据处理问题
数据安全问题
预签名 URL 问题
SDK 类问题
工具类问题
API 类问题
服务协议
Service Level Agreement
隐私政策
数据处理和安全协议
联系我们
词汇表

图片持久化处理

PDF
聚焦模式
字号
最后更新时间: 2024-01-22 11:43:35

简介

本文档提供关于图片持久化处理相关的 API 概览以及 SDK 示例代码。
API
操作描述
对象存储(Cloud Object Storage,COS)提供的上传时处理功能可以帮助使用者在上传时实现图片处理。此外能够对已存储在 COS 的图片进行相应处理操作,并将结果存入到 COS

上传时处理

功能说明

数据万象提供的上传时处理功能可以帮助使用者在上传时实现图片处理。您只需要在请求包头部中加入 Pic-Operations 项并设置好相应参数,就可在图片上传时实现相应的图片处理,并可将原图和处理结果存入到 COS。目前支持20M以内文件处理。

方法原型

ci_put_object(self, Bucket, Body, Key, EnableMD5=False, **kwargs)

请求示例

with open('local.jpg', 'rb') as fp:
response, data = client.ci_put_object(
Bucket='examplebucket-1250000000',
Body=fp,
Key=ci_file_name,
# pic operation json struct
PicOperations='{"is_pic_info":1,"rules":[{"fileid":"format.png","rule":"imageView2/format/png"}]}')

全部参数请求示例

response = client.ci_put_object(
Bucket='examplebucket-1250000000',
Body=b'bytes'|file,
Key='exampleobject',
EnableMD5=False|True,
ACL='private'|'public-read', # 请慎用此参数,否则会达到1000条 ACL 上限
GrantFullControl='string',
GrantRead='string',
StorageClass='STANDARD'|'STANDARD_IA'|'ARCHIVE',
Expires='string',
CacheControl='string',
ContentType='string',
ContentDisposition='string',
ContentEncoding='string',
ContentLanguage='string',
ContentLength='123',
ContentMD5='string',
Metadata={
'x-cos-meta-key1': 'value1',
'x-cos-meta-key2': 'value2'
},
TrafficLimit='1048576'
PicOperations='{"is_pic_info":1,"rules":[{"fileid":"format.png","rule":"imageView2/format/png"}]}'
)

参数说明

参数名称
参数描述
类型
是否必填
Bucket
存储桶名称,由 BucketName-APPID 构成
String
Body
上传对象的内容,可以为文件流或字节流
file/bytes
Key
对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg
String
PicOperations
万象图片处理参数,请参见 图片持久化处理
String
EnableMD5
是否需要 SDK 计算 Content-MD5,默认关闭,打开后将增加上传耗时
Bool
ACL
设置对象的 ACL,例如 'private','public-read'
String
GrantFullControl
赋予被授权者所有的权限,格式为 id="OwnerUin"
String
GrantRead
赋予被授权者读的权限,格式为 id="OwnerUin"
String
StorageClass
设置对象的存储类型,STANDARD,STANDARD_IA,ARCHIVE。默认值为 STANDARD。更多存储类型,请参见 存储类型概述
String
Expires
设置 Expires
String
CacheControl
缓存策略,设置 Cache-Control
String
ContentType
内容类型,设置 Content-Type
String
ContentDisposition
对象名称,设置 Content-Disposition
String
ContentEncoding
编码格式,设置 Content-Encoding
String
ContentLanguage
语言类型,设置 Content-Language
String
ContentLength
设置传输长度
String
ContentMD5
设置上传对象的 MD5 值用于校验
String
Metadata
用户自定义的对象元数据, 必须以 x-cos-meta 开头,否则会被忽略
Dict
TrafficLimit
单链接限速的值,单位为bit/s,限速值设置范围为819200 - 838860800,即100KB/s - 100MB/s
String
PicOperations 为 json 格式的字符串,具体参数如下:
参数名称
描述
类型
是否必选
is_pic_info
是否返回原图信息,0不返回原图信息,1返回原图信息,默认为0
Int
rules
处理规则,一条规则对应一个处理结果(目前支持五条规则),不填则不进行图片处理
Array
rules(json 数组)中每一项具体参数如下:
参数名称
描述
类型
是否必选
bucket
存储结果的目标存储桶名称,格式为 BucketName-APPID,如果不指定的话默认保存到当前存储桶
String
fileid
处理结果的文件路径名称,如以/开头,则存入指定文件夹中,否则,存入原图文件存储的同目录
String
rule
处理参数,参见数据万象图片处理 API。若按指定样式处理,则以style/开头,后加样式名,如样式名为test,则 rule 字段为style/test
String

返回结果说明

获取原图片和处理信息,类型为 dict:
{
'OriginalInfo': {
'Key': 'local.jpg',
'Location': 'examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/local.jpg',
'ETag': '"aff1b996bcc63a0f0259df0de2fa989f38c5ce7e"',
'ImageInfo': {
'Format': 'JPEG',
'Width': '300',
'Height': '168',
'Quality': '74',
'Ave': '0x1a3451',
'Orientation': '0'
}
},
'ProcessResults': {
'Object': {
'Key': 'format.png',
'Location': 'examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/format.png',
'Format': 'png',
'Width': '300',
'Height': '168',
'Size': '77063',
'Quality': '74',
'ETag': '"a07dc5bcfa238e7d23d2d5884da4ac328aaaa9c6"'
}
}
}
响应包体具体数据内容如下:
参数名称
类型
描述
UploadResult
Container
原图信息
UploadResult 节点内容:
参数名称
类型
描述
OriginalInfo
Container
原图信息
ProcessResults
Container
图片处理结果
OriginalInfo 节点内容:
节点名称
类型
描述
Key
String
原图文件名
Location
String
图片路径
ImageInfo
Container
原图图片信息
ETag
String
原图 ETag 信息(若处理结果图覆盖原图则为结果图 ETag 信息)
ImageInfo 节点内容:
节点名称
类型
描述
Format
String
格式
Width
Int
图片宽度
Height
Int
图片高度
Quality
Int
图片质量
Ave
String
图片主色调
Orientation
Int
图片旋转角度
ProcessResults 节点内容:
节点名称
类型
描述
Object
Container
每一个图片处理结果
Object 节点内容:
节点名称
类型
描述
Key
String
文件名
Location
String
图片路径
Format
String
图片格式
Width
Int
图片宽度
Height
Int
图片高度
Size
Int
图片大小
Quality
Int
图片质量
ETag
String
处理结果图 ETag 信息

云上数据处理

功能说明

图片持久化处理 API 能够对已存储在 COS 的图片进行相应处理操作,并将结果存入到 COS。

方法原型

ci_image_process(self, Bucket, Key, **kwargs)

请求示例

response, data = client.ci_image_process(
Bucket='examplebucket-1250000000',
Key=ci_file_name,
# pic operation json struct
PicOperations='{"is_pic_info":1,"rules":[{"fileid":"format.png","rule":"imageView2/format/png"}]}')

全部参数请求示例

response, data = client.ci_image_process(
Bucket='examplebucket-1250000000',
Key=ci_file_name,
# pic operation json struct
PicOperations='{"is_pic_info":1,"rules":[{"fileid":"format.png","rule":"imageView2/format/png"}]}')

参数说明

参数名称
参数描述
类型
是否必填
Bucket
存储桶名称,由 BucketName-APPID 构成
String
Key
对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg
String
PicOperations
万象图片处理参数,请参见 图片持久化处理
String
PicOperations 为 json 格式的字符串,具体参数如下:
参数名称
描述
类型
是否必选
is_pic_info
是否返回原图信息,0不返回原图信息,1返回原图信息,默认为0
Int
rules
处理规则,一条规则对应一个处理结果(目前支持五条规则),不填则不进行图片处理
Array
rules(json 数组)中每一项具体参数如下:
参数名称
描述
类型
是否必选
bucket
存储结果的目标存储桶名称,格式为 BucketName-APPID,如果不指定的话默认保存到当前存储桶
String
fileid
处理结果的文件路径名称,如以/开头,则存入指定文件夹中,否则,存入原图文件存储的同目录
String
rule
处理参数,可参见图片处理 API。若按指定样式处理,则以style/开头,后加样式名,如样式名为test,则 rule 字段为style/test
String

返回结果说明

获取对象的元信息,类型为 dict:
{
'OriginalInfo': {
'Key': 'local.jpg',
'Location': 'examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/local.jpg',
'ETag': '"aff1b996bcc63a0f0259df0de2fa989f38c5ce7e"',
'ImageInfo': {
'Format': 'JPEG',
'Width': '300',
'Height': '168',
'Quality': '74',
'Ave': '0x1a3451',
'Orientation': '0'
}
},
'ProcessResults': {
'Object': {
'Key': 'format.png',
'Location': 'examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/format.png',
'Format': 'png',
'Width': '300',
'Height': '168',
'Size': '77063',
'Quality': '74',
'ETag': '"a07dc5bcfa238e7d23d2d5884da4ac328aaaa9c6"'
}
}
}
响应包体具体数据内容如下:
参数名称
类型
描述
UploadResult
Container
原图信息
UploadResult 节点内容:
参数名称
类型
描述
OriginalInfo
Container
原图信息
ProcessResults
Container
图片处理结果
OriginalInfo 节点内容:
节点名称
类型
描述
Key
String
原图文件名
Location
String
图片路径
ImageInfo
Container
原图图片信息
ETag
String
原图 ETag 信息(若处理结果图覆盖原图则为结果图 ETag 信息)
ImageInfo 节点内容:
节点名称
类型
描述
Format
String
格式
Width
Int
图片宽度
Height
Int
图片高度
Quality
Int
图片质量
Ave
String
图片主色调
Orientation
Int
图片旋转角度
ProcessResults 节点内容:
节点名称
类型
描述
Object
Container
每一个图片处理结果
Object 节点内容:
节点名称
类型
描述
Key
String
文件名
Location
String
图片路径
Format
String
图片格式
Width
Int
图片宽度
Height
Int
图片高度
Size
Int
图片大小
Quality
Int
图片质量
ETag
String
处理结果图 ETag 信息

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈