一、请求语法
图片上传的请求包与 COS V5 简单上传文件接口一致,只在请求包头部增加图片处理参数。
PUT /<ObjectKey> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth StringPic-Operations: <PicOperations>
注意:说明:
二、请求内容
Pic-Operations 为 json 格式的字符串,具体参数如下:
| 参数名称 | 类型 | 是否必选 | 描述 |
| is_pic_info | Int | 否 | 是否返回原图信息,0不返回原图信息,1返回原图信息,默认为0 |
| rules | Array | 否 | 处理规则,一条规则对应一个处理结果(目前支持五条规则),不填则不进行图片处理 |
rules(json 数组)中每一项具体参数如下:
| 参数名称 | 类型 | 是否必选 | 描述 |
| bucket | String | 否 | 存储结果的目标存储桶名称,格式为 BucketName-APPID,如果不指定的话默认保存到当前存储桶 |
| fileid | String | 是 | 处理结果的文件路径名称,如以/开头,则存入指定文件夹中,否则,存入原图文件存储的同目录 |
| rule | String | 是 | 处理参数,参见数据万象图片处理 API。若按指定样式处理,则以style/开头,后加样式名,如样式名为test,则 rule 字段为style/test |
三、返回内容
响应包体具体数据内容如下:
| 参数名称 | 类型 | 描述 |
| UploadResult | Container | 原图信息 |
UploadResult 节点内容:
| 参数名称 | 类型 | 描述 |
| OriginalInfo | Container | 原图信息 |
| ProcessResults | Container | 图片处理结果 |
OriginalInfo 节点内容:
| 节点名称 | 类型 | 描述 |
| Key | String | 原图文件名 |
| Location | String | 图片路径 |
| ImageInfo | Container | 原图图片信息 |
ImageInfo 节点内容:
| 节点名称 | 类型 | 描述 |
| Format | String | 格式 |
| Width | Int | 图片宽度 |
| Height | Int | 图片高度 |
| Quality | Int | 图片质量 |
| Ave | String | 图片主色调 |
| Orientation | Int | 图片旋转角度 |
ProcessResults 节点内容:
| 节点名称 | 类型 | 描述 |
| Object | Container | 每一个图片处理结果 |
Object 节点内容:
| 节点名称 | 类型 | 描述 |
| Key | String | 文件名 |
| Location | String | 图片路径 |
| Format | String | 图片格式 |
| Width | Int | 图片宽度 |
| Height | Int | 图片高度 |
| Size | Int | 图片大小 |
| Quality | Int | 图片质量 |
四、请求
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.jpg","rule":"imageView2/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> <ImageInfo> <Format>JPEG</Format> <Width>640</Width> <Height>427</Height> <Quality>100</Quality> <Ave>0xa18454</Ave> <Orientation>1</Orientation> </ImageInfo> </OriginalInfo> <ProcessResults> <Object> <Key>test.jpg</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/test.jpg</Location> <Format>png</Format> <Width>640</Width> <Height>427</Height> <Size>463092</Size> <Quality>100</Quality> </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 | 是 | 处理结果的文件路径名称,如以/开头,则存入指定文件夹中,否则,存入原图文件存储的同目录 |
| rule | String | 是 | 处理参数,参见数据万象图片处理 API。若按指定样式处理,则以style/开头,后加样式名,如样式名为test,则 rule 字段为style/test |
九、返回内容
响应包体具体数据内容如下:
| 参数名称 | 类型 | 描述 |
| UploadResult | Container | 原图信息 |
UploadResult 节点内容:
| 参数名称 | 类型 | 描述 |
| OriginalInfo | Container | 原图信息 |
| ProcessResults | Container | 图片处理结果 |
OriginalInfo 节点内容:
| 节点名称 | 类型 | 描述 |
| Key | String | 原图文件名 |
| Location | String | 图片路径 |
| ImageInfo | Container | 原图图片信息 |
ImageInfo 节点内容:
| 节点名称 | 类型 | 描述 |
| Format | String | 格式 |
| Width | Int | 图片宽度 |
| Height | Int | 图片高度 |
| Quality | Int | 图片质量 |
| Ave | String | 图片主色调 |
| Orientation | Int | 图片旋转角度 |
ProcessResults 节点内容:
| 节点名称 | 类型 | 描述 |
| Object | Container | 每一个图片处理结果 |
Object 节点内容:
| 节点名称 | 类型 | 描述 |
| Key | String | 文件名 |
| Location | String | 图片路径 |
| Format | String | 图片格式 |
| Width | Int | 图片宽度 |
| Height | Int | 图片高度 |
| Size | Int | 图片大小 |
| Quality | Int | 图片质量 |
十、请求
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.jpg","rule":"imageView2/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> <ImageInfo> <Format>JPEG</Format> <Width>640</Width> <Height>427</Height> <Quality>100</Quality> <Ave>0xa18454</Ave> <Orientation>1</Orientation> </ImageInfo> </OriginalInfo> <ProcessResults> <Object> <Key>test.jpg</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/test.jpg</Location> <Format>png</Format> <Width>640</Width> <Height>427</Height> <Size>463092</Size> <Quality>100</Quality> </Object> </ProcessResults></UploadResult>