功能概述
对象存储通过数据万象 imageMogr2/size-limit 接口可限制图片处理(例如缩放、压缩等)后的文件大小。
限制说明
- 支持格式:支持处理 JPG、BMP、GIF、PNG、WEBP 格式,并且支持 HEIF 格式的解码和处理操作。
- 体积限制:处理图片原图大小不超过32MB、宽高不超过30000像素且总像素不超过2.5亿像素,处理结果图宽高设置不超过9999像素;针对动图,原图宽 x 高 x 帧数不超过2.5亿像素。
- 动图帧数限制:gif 帧数限300帧。
接口示例
download_url?imageMogr2/size-limit
处理参数说明
操作名称:size-limit。
参数 | 含义 |
---|---|
download_url | 文件的访问链接,具体构成为<BucketName-APPID>.cos.<Region>.myqcloud.com/<picture name>, 例如 examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/picture.jpeg |
size-limit | 限制图片转换后的大小,支持以兆字节和千字节为单位的图片 1. 仅支持 JPG 格式的图片,可以用于限制处理后图片的大小 2. 若在尾部加上 ! ,表示用处理后的图片大小与原图大小做比较,如果处理后的图片比原图小,则返回处理后的图片,否则返回原图。例如:examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/picture.jpg?imageMogr2/size-limit/15k!3. 建议搭配 strip 参数使用,去除图片的一些冗余信息,会有更好的效果。例如:examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/picture.jpg?imageMogr2/strip/format/png/size-limit/15k! |
/ignore-error/1 | 当处理参数中携带此参数时,针对文件过大导致处理失败的场景,会直接返回原图而不报错 |
实际案例
案例一:转换图片格式并限制大小
将 JPG 图片转换为 PNG 格式,并限制图片大小为15KB,示例如下:
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?imageMogr2/strip/format/png/size-limit/15k!
案例二:转换图片格式、限制大小并携带私有文件签名
处理方式同上,仅增加签名部分,并与处理参数以“&”连接,示例如下:
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?q-sign-algorithm=<signature>&imageMogr2/strip/format/png/size-limit/15k!
说明:
<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