功能概述
对象存储通过数据万象接口 imageMogr2 提供格式转换、渐进显示功能。
该功能支持以下处理方式:
- 下载时处理
- 上传时处理
- 云上数据处理
注意:图片处理功能为收费项,由数据万象收取,详细的计费说明请参见数据万象 图片处理费用。
限制说明
- gif、webp、tpg 等动图,支持互相转换。
- jpg、png、bmp、tpg、heif 等静态图片,支持互相转换。
接口形式
1. 下载时处理
GET /<ObjectKey>?imageMogr2/format/<Format>
/cgif/<FrameNumber>
/interlace/<Mode> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
2. 上传时处理
PUT /<ObjectKey> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: Auth String
Pic-Operations:
{
"is_pic_info": 1,
"rules": [{
"fileid": "exampleobject",
"rule": "imageMogr2/format/<Format>
/cgif/<FrameNumber>
/interlace/<Mode>"
}]
}
3. 云上数据处理
POST /<ObjectKey>?image_process HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Content-length: Size
Authorization: Auth String
Pic-Operations:
{
"is_pic_info": 1,
"rules": [{
"fileid": "exampleobject",
"rule": "imageMogr2/format/<Format>
/cgif/<FrameNumber>
/interlace/<Mode>"
}]
}
说明:
- Authorization: Auth String(详情请参见 请求签名 文档)。
- 通过子账号使用时,需要授予相关的权限,详情请参见 授权粒度详情 文档。
- Pic-Operations 为 json 格式的字符串,具体参数信息可参考 图片持久化处理。
- 当
fileid
与ObjectKey
相同时,处理后的图片将覆盖原图存储;不相同时将分别存储原图和处理后图片。fileid
的值需要经过 URL 安全的 Base64 编码
处理参数说明
参数 | 含义 |
---|---|
ObjectKey | 对象文件名,例如 folder/sample.jpg。 |
/format/<Format> | 格式转换:目标缩略图的图片格式可为:jpg,bmp,gif,png,webp,yjpeg 等,其中 yjpeg 为数据万象针对 jpeg 格式进行的优化,本质为 jpg 格式;缺省为原图格式。 |
/ignore-error/1 | 当处理参数中携带此参数时,针对文件过大导致处理失败的场景,会直接返回原图而不报错 |
实际案例
说明:本篇文档中的实际案例仅包含下载时处理,该类处理不会保存处理后的图片至存储桶。如有保存需求,您可查阅 图片持久化处理 文档并配置上传时处理或云上数据处理。
案例一:将 jpeg 格式的原图片转换为 png 格式
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?imageMogr2/format/png
案例二:将 jpeg 格式的原图片转换为 png 格式并携带私有文件签名
处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接,示例如下:
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?q-sign-algorithm=<signature>&imageMogr2/format/png
说明:
<signature>
为签名部分,获取方式请参考 请求签名。
注意事项
为了避免未授权人员通过访问不携带处理参数的链接实现访问和下载原图的情况,您可同时将处理参数签入到请求签名中,处理参数整体是参数的 key,value 为空,如下是简单的示例(仅做样式参考,可能已经过期无法直接访问),详细计算方法请参见 请求签名。
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?q-sign-algorithm=sha1&q-ak=AKID********************&q-sign-time=1593342360;1593342720&q-key-time=1593342360;1593342720&q-header-list=&q-url-param-list=watermark%252f1%252fimage%252fahr0cdovl2v4yw1wbgvzlteyntewmdawmdqucgljc2gubxlxy2xvdwquy29tl3nodwl5aw4uanbn%252fgravity%252fsoutheast&q-signature=26a429871963375c88081ef60247c5746e834a98&watermark/1/image/aHR0cDovL2V4YW1wbGVzLTEyNTEwMDAwMDQucGljc2gubXlxY2xvdWQuY29tL3NodWl5aW4uanBn/gravity/southeast