功能概述
腾讯云数据万象通过 imageView2 接口提供常用图片处理模板。开发者根据业务需求,只需在下载 URL 后面附加相应的参数,就可以生成相应的缩略图。该功能支持以下处理方式:
下载时处理
上传时处理
云上数据处理
授权说明
下载时处理:授权策略中 action 设置为
cos:GetObject
。上传时处理:授权策略中 action 设置为
cos:PutObject
。云上数据处理:授权策略中 action 设置为
cos:GetObject
、cos:PutObject
(注意 GetObject 对应的 resource 为源文件,PutObject 对应的 resource 为转存的文件)。服务开通
使用该功能将默认为您开通数据万象,并绑定存储桶,无需角色授权,即可直接使用。
使用限制
支持格式:默认支持处理 JPG/JPEG、BMP、GIF、PNG、WebP 格式,开通 图片高级压缩功能 后,可支持AVIF、HEIF、TPG 格式的解码和处理操作。
静图体积限制:处理图片原图大小不超过32MB、宽高不超过50000像素且总像素不超过2.5亿像素,处理结果图宽高设置不超过50000像素。
WebP图片限制:处理图片原图大小不超过32MB、宽高不超过16383像素且总像素不超过2.5亿像素,处理结果图宽高设置不超过16383像素。
动图体积限制:原图及处理图宽 x 高 x 帧数不超过2.5亿像素。
动图帧数限制:gif 帧数限300帧。
费用说明
该接口为付费服务,产生的费用将由数据万象收取,详细计费说明可参见 图片处理费用。
如果采用下载时处理的方式,且通过外网进行下载,调用会产生 流量费用。
接口示例
1. 下载时处理
GET /<ObjectKey>?imageView2/<mode>/w/<Width>/h/<Height>/format/<Format>/q/<Quality>/rq/<Quality>/lq/<Quality> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>
注意
质量变换参数仅针对 jpg 和 webp 格式图片。
2. 上传时处理
PUT /<ObjectKey> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth StringPic-Operations:{"is_pic_info": 1,"rules": [{"fileid": "exampleobject","rule": "imageView2/<mode>/w/<Width>/h/<Height>/format/<Format>/q/<Quality>/rq/<Quality>/lq/<Quality>"}]}
3. 云上数据处理
POST /<ObjectKey>?image_process HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateContent-length: SizeAuthorization: Auth StringPic-Operations:{"is_pic_info": 1,"rules": [{"fileid": "exampleobject","rule": "imageView2/<mode>/w/<Width>/h/<Height>/format/<Format>/q/<Quality>/rq/<Quality>/lq/<Quality>"}]}
说明
Authorization: Auth String,详情请参见 请求签名 文档。
Pic-Operations 为 json 格式的字符串,具体参数信息可参考 图片持久化处理。
当
fileid
与 ObjectKey
相同时,处理后的图片将覆盖原图存储;不相同时将分别存储原图和处理后图片。fileid
的值需要经过 URL 安全的 Base64 编码。处理参数说明
参数 | 含义 | 是否必选 |
ObjectKey | 对象文件名,例如 folder/sample.jpg。 | 是 |
/0/w/<LongEdge>/h/<ShortEdge> | 限定缩略图的长边最多为<LongEdge>,短边最多为<ShortEdge>,进行等比缩放,不裁剪。如果只指定w参数则表示限定长边(短边自适应),只指定h参数则表示限定短边(长边自适应)。 当图片长宽相同时,默认长边为图片的高。 | 否 |
/1/w/<Width>/h/<Height> | 限定缩略图的宽高最小值。该操作会将图像等比缩放直至某一边达到设定最小值,之后将另一边居中裁剪至设定值。若只指定一边,则表示宽高相等的正方形。 例如,原图大小为1000x500,将参数设定为 ?imageView2/1/w/500/h/400 后,图像会先等比缩放至800x400,之后左右各裁剪150,得到500x400大小的图像 | 否 |
/2/w/<Width>/h/<Height> | 限定缩略图的宽高最大值。该操作会将图像等比缩放至宽高都小于设定最大值。 例如,原图大小为 1000x500,将参数设定为 ?imageView2/2/w/500/h/400 后,图像会等比缩放至500x250。如果只指定一边,则另一边自适应 | 否 |
/3/w/<Width>/h/<Height> | 限定缩略图的宽高最小值。该操作会将图像等比缩放至宽高都大于设定最小值。 例如,原图大小为 1000x500,将参数设定为 ?imageView2/3/w/500/h/400 后,图像会等比缩放至800x400。如果仅指定了一边的值,则另一边将默认设为相同的值。 | 否 |
/4/w/<LongEdge>/h/<ShortEdge> | 限定缩略图的长边和短边的最小值分别为 LongEdge 和 ShortEdge,进行等比压缩;如果只指定一边,代表另外一边为同样的值 当图片长宽相同时,默认长边为图片的高。 | 否 |
/5/w/<LongEdge>/h/<ShortEdge> | 限定缩略图的长边和短边的最大值分别为 LongEdge 和 ShortEdge,进行等比压缩,居中裁剪;如果只指定一边,则表示宽高相等的正方形;缩放后其中一边多余的部分会被裁剪掉。 当图片长宽相同时,默认长边为图片的高。 | 否 |
/format/<Format> | 目标缩略图的图片格式,Format 可为:jpg,bmp,gif,png,webp,缺省为原图格式。 | 否 |
/q/<Quality> | 图片质量,取值范围 0 - 100,默认值为原图质量;取原图质量和指定质量的最小值;<Quality> 后面加!(注意为英文字符),表示强制使用指定值。 | 否 |
/rq/<quality> | 图片的相对质量,取值范围0 - 100,数值以原图质量为标准。例如原图质量为80,将 rquality 设置为80后,得到处理结果图的图片质量为64(80x80%)。 | 否 |
/lq/<quality> | 图片的最低质量,取值范围0 - 100,设置结果图的质量参数最小值。 例如,原图质量为85,将 lquality 设置为80后,处理结果图的图片质量为85; 例如,原图质量为60,将 lquality 设置为80后,处理结果图的图片质量会被提升至80。 | 否 |
/ignore-error/1 | 当处理参数中携带此参数时,针对文件过大、文件格式有误等外部因素导致的处理失败的场景,会直接返回原图而不报错。 | 否 |
实际案例
说明
案例一:选用模板样式1
选用样式1,并限定缩略图的宽高最小值为400 × 600,绝对质量为85:
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?imageView2/1/w/400/h/600/q/85
缩略图效果如下:
案例二:选用模板样式1并携带私有签名
处理方式同上,仅增加签名部分,并与处理参数以“&”连接,示例如下:
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?q-sign-algorithm=<signature>&imageView2/1/w/400/h/600/q/85
说明
注意事项
为了避免未授权人员通过访问不携带处理参数的链接实现访问和下载原图的情况,您可同时将处理参数签入到请求签名中,处理参数整体是参数的 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