详情页标题前

腾讯云对象存储图片处理机制介绍

详情页1

简介

对象存储提供了一套便捷的图片处理机制,通过这套机制可以对存储桶中的图片进行一系列的图片处理操作。图片处理机制分为以下三种方式:

方式 类别 说明
下载时处理 同步处理 在图片的 URL 后加上 图片处理参数
上传时处理 持久化处理 上传图片时,在请求包头部中加入 Pic-Operations 项并设置好相应的 图片处理参数
云上数据处理 持久化处理 针对 COS 上已经存在的图片进行处理,处理方式与上传时处理类似,在请求包头部中加入 Pic-Operations 项并设置好相应的图片处理参数

下载时处理

您可以通过在图片的 URL 后加上 图片处理参数,实现访问图片的时候同步获取到处理后的图片。

请求语法

GET /? HTTP/1.1Host: .cos..myqcloud.comDate: Authorization: 

示例

请求

GET /filename.jpg?imageMogr2/format/png HTTP/1.1Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.comDate: Wed, 28 Oct 2015 20:32:00 GMTAuthorization:XXXXXXXXXXXX

返回

HTTP/1.1 200 OKContent-Type: image/pngContent-Length: 565Date: Fri, 10 Apr 2020 09:35:16 GMTLast-Modified: Fri, 10 Apr 2020 09:35:05 GMTx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****

上传时处理

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

请求语法

图片上传的请求包与 COS V5 简单上传文件接口一致,只在请求包头部增加图片处理参数。

PUT /<ObjectKey> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth StringPic-Operations: <PicOperations>

说明COS 简单上传文件接口,请参见 COS PUT Object 文档Authorization: Auth String(详情请参见 请求签名 文档)。持久化处理的 QPS 限制为100,如您有更高需求请 联系我们

请求内容

Pic-Operations 为 json 格式的字符串,具体参数如下:

参数名称 类型 是否必选 描述
is_pic_info Int 是否返回原图信息,0不返回原图信息,1返回原图信息,默认为0
rules Array 处理规则,一条规则对应一个处理结果(目前支持五条规则),不填则不进行图片处理

rules(json 数组)中每一项具体参数如下:

参数名称 类型 是否必选 描述
bucket String 存储结果的目标存储桶名称,格式为 BucketName-APPID,如果不指定的话默认保存到当前存储桶。
fileid String 处理后文件的保存路径及名称。fileidObjectKey 相同时,处理后的文件将覆盖原文件存储;不相同时将分别存储原文件和处理后文件。名称规则说明:1. 名称需要经过URLEncode。2. 以 / 开头为绝对路径,例如 fileid 值为 /p2/test2.jpg 时,表示在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件。3. 不以 / 开头为相对路径,例如 fileid 值为 p2/test2.jpg 时,表示在 p1 文件夹中新建了一个 p2 文件夹,然后在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件。4. 注意:请不要以 / 结尾,否则会产生空文件名。
rule String 图片处理参数,若按指定样式处理,则以 style/ 开头,后加样式名,如样式名为 test,则 rule 字段为 style/test

返回内容

响应包体具体数据内容如下:

参数名称 类型 描述
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 图片主色调,格式为:0xRRGGBB (RR、GG、BB都是十六进制数,表示红、绿、蓝三种颜色)
Orientation Int 图片旋转角度,取值为1-8的整数:1:旋转0°2:水平翻转3:旋转180°4:垂直翻转5:顺时针旋转90°+水平翻转6:顺时针旋转90°7:顺时针旋转90°+垂直翻转8:逆时针旋转90°
FrameCount Int 图片的帧数。静态图为1,动图为对应的帧数。

ProcessResults 节点内容:

节点名称 类型 描述
Object Container 每一个图片处理结果

Object 节点内容:

节点名称 类型 描述
Key String 文件名
Location String 图片路径
Format String 图片格式
Width Int 图片宽度
Height Int 图片高度
Size Int 图片大小
Quality Int 图片质量
ETag String 处理结果图 ETag 信息
FrameCount Int 图片的帧数。静态图为1,动图为对应的帧数

示例

请求

PUT /filename.jpg HTTP/1.1Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.comDate: Wed, 28 Oct 2015 20:32:00 GMTAuthorization:XXXXXXXXXXXXPic-Operations: {"is_pic_info":1,"rules":[{"fileid":"test.png","rule":"imageMogr2/format/png"}]}Content-Length: 64
[Object]

返回

HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 645Date: Tue, 03 Apr 2018 09:06:16 GMTStatus: 200 OKx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****
<UploadResult> <OriginalInfo> <Key>filename.jpg</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/filename.jpg</Location> <ETag>&quot;580cd6930444576523c25f86ce2af9b1fc2d5484&quot;</ETag> <ImageInfo> <Format>JPEG</Format> <Width>640</Width> <Height>427</Height> <Quality>100</Quality> <Ave>0xa18454</Ave> <Orientation>1</Orientation> <FrameCount>1</FrameCount> </ImageInfo> </OriginalInfo> <ProcessResults> <Object> <Key>test.png</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/test.png</Location> <Format>png</Format> <Width>640</Width> <Height>427</Height> <Size>463092</Size> <Quality>100</Quality> <ETag>&quot;eaa4e3d8fd498bbc63be3b71c46b9c61f23e3f0c&quot;</ETag> <FrameCount>1</FrameCount> </Object> </ProcessResults></UploadResult>

注意上传时处理支持 COS V5 的分块上传功能,您在使用 COS V5 的 Complete Multipart Upload 接口时只需在请求包头部中加入 Pic-Operations 项,即可实现图片处理。

POST /<ObjectKey>?uploadId=UploadId HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateContent-length: SizeAuthorization: Auth StringPic-Operations: <PicOperations>

说明COS 接口请参见 COS Complete Multipart Upload 文档。

云上数据处理

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

请求语法

POST /<ObjectKey>?image_process HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateContent-length: SizeAuthorization: Auth StringPic-Operations: <PicOperations>

请求内容

Pic-Operations 为 json 格式的字符串,具体参数如下:

参数名称 类型 是否必选 描述
is_pic_info Int 是否返回原图信息,0不返回原图信息,1返回原图信息,默认为0
rules Array 处理规则,一条规则对应一个处理结果(目前支持五条规则),不填则不进行图片处理

rules(json 数组)中每一项具体参数如下:

参数名称 类型 是否必选 描述
bucket String 存储结果的目标 bucket 名称,形如 BucketName-APPID,如果不指定的话默认保存到当前存储桶
fileid String 处理后文件的保存路径及名称。fileidObjectKey 相同时,处理后的文件将覆盖原文件存储;不相同时将分别存储原文件和处理后文件。名称规则说明:1. 名称需要经过URLEncode2. / 开头为绝对路径,例如 fileid 值为 /p2/test2.jpg 时,表示在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件。3. 不以 / 开头为相对路径,例如 fileid 值为 p2/test2.jpg 时,表示在 p1 文件夹中新建了一个 p2 文件夹,然后在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件。4. 注意:请不要以 / 结尾,否则会产生空文件名。
rule String 处理参数,参见对象存储图片处理 API。若按指定样式处理,则以 style/ 开头,后加样式名,如样式名为 test,则 rule 字段为 style/test

返回内容

响应包体具体数据内容如下:

参数名称 类型 描述
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 图片主色调,格式为:0xRRGGBB (RR、GG、BB都是十六进制数,表示红、绿、蓝三种颜色)
Orientation Int 图片旋转角度,取值为1-8的整数:1:旋转0°2:水平翻转3:旋转180°4:垂直翻转5:顺时针旋转90°+水平翻转6:顺时针旋转90°7:顺时针旋转90°+垂直翻转8:逆时针旋转90°
FrameCount Int 图片的帧数。静态图为1,动图为对应的帧数。

ProcessResults 节点内容:

节点名称 类型 描述
Object Container 每一个图片处理结果

Object 节点内容:

节点名称 类型 描述
Key String 文件名
Location String 图片路径
Format String 图片格式
Width Int 图片宽度
Height Int 图片高度
Size Int 图片大小
Quality Int 图片质量
ETag String 处理结果图 ETag 信息
FrameCount Int 图片的帧数。静态图为1,动图为对应的帧数。

示例

请求

POST /filename.jpg?image_process HTTP/1.1Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.comDate: Wed,18 Jan 2017 16:17:03 GMTAuthorization: XXXXXXXXXXPic-Operations: {"is_pic_info":1,"rules":[{"fileid":"test.png","rule":"imageMogr2/format/png"}]}Content-Length: XX

返回

HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 645Date: Tue, 03 Apr 2018 09:06:16 GMTStatus: 200 OKx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****
<UploadResult> <OriginalInfo> <Key>filename.jpg</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/filename.jpg</Location> <ETag>&quot;eaa4e3d8fd498bbc63be3b71c46b9c61f23e3f0c&quot;</ETag> <ImageInfo> <Format>JPEG</Format> <Width>640</Width> <Height>427</Height> <Quality>100</Quality> <Ave>0xa18454</Ave> <Orientation>1</Orientation> <FrameCount>1</FrameCount> </ImageInfo> </OriginalInfo> <ProcessResults> <Object> <Key>test.png</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/test.png</Location> <Format>png</Format> <Width>640</Width> <Height>427</Height> <Size>463092</Size> <Quality>100</Quality> <ETag>&quot;eaa4e3d8fd498bbc63be3b71c46b9c61f23e3f0c&quot;</ETag> <FrameCount>1</FrameCount> </Object> </ProcessResults></UploadResult>



对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:http://www.yunxiaoer.com/145032.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云对象存储运算符

    对象存储(Cloud Object Storage,COS)Select 支持以下运算符: 运算符种类 运算符 逻辑运算符 AND,NOT,OR 比较运算符 ,=,=,,!=,BETWEEN,IN。例如IN (‘a’, ‘b’, ‘c’) 模式匹配运算符 LIKE 数学运算符 +,-,*,% 运算符优先顺序 下表按照降序展示运算符的操作顺序: 运算符/元素 …

    腾讯云 2023年12月9日
  • 阿里云Serverless中cdn怎么搞ip限制? -云小二-阿里云

    阿里云Serverless中cdn怎么搞ip限制?

    阿里云 2023年12月20日
  • 腾讯云内容分发网络CDN附录:更多配置指引

    您可以根据业务需求,进行更多功能的配置,进一步提升加速性能和访问安全性。配置入口:单击域名右侧的管理。 场景 描述 配置 提升缓存命中率 配置合理的缓存策略,可以有效提高缓存命中率:更新频率低的静态文件(如图片、文本等),建议设置1个月以上。更新频率高的静态文件(如 js、css 等),根据实际业务情况设置。动态文件(如 php;jsp;asp;aspx 等…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云云直播直播智能弹幕

    智能弹幕功能可以实时识别及提取人脸、游戏人物、主播等坐标信息,在几乎不增加带宽的前提下,把感兴趣区域的信息随着视频编码带到播放端,帮助播放端避开用户关注区域被弹幕遮挡的困扰,提升用户观看体验。 步骤1:开通腾讯云账号 请先确保您已开通腾讯云账号,如您还未开通腾讯云账号,请 注册腾讯云 账号,并完成实名认证。 步骤2:提出使用申请 开通智能弹幕功能需要 提交工…

    腾讯云 2023年12月9日
  • 阿里云容器服务ACK使用OpenAPI诊断工具进行故障排查-云淘科技

    阿里云OpenAPI平台提供使用诊断工具。本文介绍如何使用OpenAPI诊断工具进行故障排查。 您可以登录OpenAPI使用诊断,输入完整的RequestID或SDK报错信息,然后单击诊断,获取您的故障排查结果及对应的解决方案。 如果诊断工具仍未能解决您的问题,您可以参考故障排除、常见问题获取解决方案。 内容没看懂? 不太想学习?想快速解决? 有偿解决: 联…

    阿里云容器服务 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。