有奖捉虫:云通信与企业服务文档专题,速来> HOT

功能描述

图片压缩指在图片质量保持不变的情况,尽可能的减小图片大小,以达到节省图片存储空间、减少图片访问流量、提升图片访问速度的效果。
对象存储(Cloud Object Storage,COS)基于 数据万象(Cloud Infinite,CI) 产品推出了 SVG 压缩功能,可以在不影响显示效果的情况下,通过一定的优化算法删除 SVG 文件中的冗余信息,最终达到减少SVG文件体积的目的。

授权说明

下载时处理:授权策略中 action 设置为 cos:GetObjectci:SetImageAdvancedCompression
上传时处理:授权策略中 action 设置为 cos:PutObjectci:SetImageAdvancedCompression
云上数据处理:授权策略中 action 设置为 cos:GetObjectcos:PutObjectci:SetImageAdvancedCompression(注意 GetObject 对应的 resource 为源文件,PutObject 对应的 resource 为转存的文件)。
查看所有 action

服务开通

使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶

使用限制

使用该接口时,请先确认相关限制条件。详情请参见 使用限制
支持格式:仅支持将 svg 格式图片作为输入。
体积限制:处理图片原图大小不超过32MB。

使用方式

对象存储通过数据万象 imageMogr2 接口提供 SVG 压缩功能。
该功能支持以下的处理方式:
下载时处理
上传时处理
云上数据处理
说明
SVG 压缩为付费服务,计费项为图片高级压缩费用,由数据万象收取,具体费用请参见数据万象 图片处理费用

接口示例

说明
Authorization: Auth String(详情请参见 请求签名 文档)。
通过子账号使用时,需要授予相关的权限,详情请参见 授权粒度详情 文档。

1. 下载时处理

GET /<ObjectKey>?imageMogr2/format/svgc HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: <Auth String>
处理参数说明
参数
含义
<ObjectKey>
对象文件名,例如 folder/sample.jpg。
imageMogr2/format/svgc
操作参数,表示该操作为 svg 压缩。

2. 上传时处理

PUT /<ObjectKey> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: Auth String
Pic-Operations:
{
"is_pic_info": 0,
"rules": [{
"fileid": "exampleobject",
"rule": "imageMogr2/format/svgc"
}]
}
处理参数说明
参数
含义
<ObjectKey>
对象文件名,例如 folder/sample.jpg。
Pic-Operations
代表处理参数的头部,json 格式的字符串。
is_pic_info
是否返回原图信息,svg 不支持返回原图信息,仅可填写为0。
rules
处理规则数组,一条规则对应一个处理结果(目前支持五条规则),不填则不进行图片处理
fileid
处理后文件的保存路径及名称。当 fileid ObjectKey 相同时,处理后的文件将覆盖原文件存储;不相同时将分别存储原文件和处理后文件。名称规则说明:
名称需要经过 URLEncode。
以 / 开头为绝对路径,例如 fileid 值为 /p2/test2.jpg 时,表示在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件。
不以 / 开头为相对路径,例如 fileid 值为 p2/test2.jpg 时,表示在 p1 文件夹中新建了一个 p2 文件夹,然后在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件。
不以 / 结尾,否则会产生空文件名。
rule
处理规则,svg 压缩的规则为:imageMogr2/format/svgc。

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": 0,
"rules": [{
"fileid": "exampleobject",
"rule": "imageMogr2/format/svgc"
}]
}
处理参数说明
参数
含义
<ObjectKey>
对象文件名,例如 folder/sample.jpg。
image_process
表示处理的参数,固定为 image_process。
Pic-Operations
代表处理参数的头部,json 格式的字符串。
is_pic_info
是否返回原图信息,svg 不支持返回原图信息,仅可填写为0。
rules
处理规则数组,一条规则对应一个处理结果(目前支持五条规则),不填则不进行图片处理
fileid
处理后文件的保存路径及名称。当 fileid ObjectKey 相同时,处理后的文件将覆盖原文件存储;不相同时将分别存储原文件和处理后文件。名称规则说明:
名称需要经过 URLEncode。
以 / 开头为绝对路径,例如 fileid 值为 /p2/test2.jpg 时,表示在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件。
不以 / 开头为相对路径,例如 fileid 值为 p2/test2.jpg 时,表示在 p1 文件夹中新建了一个 p2 文件夹,然后在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件。
不以 / 结尾,否则会产生空文件名。
rule
处理规则,svg 压缩的规则为:imageMogr2/format/svgc。