图片处理持久化
更新时间:2024-09-10
概述
BOS 支持图片持久化。 持久化有两种方式:
- 存量持久化:将已经存在于BOS的图片进行处理后保存到BOS中。
- 增量持久化:上传图片到BOS,同时处理上传的图片,将原图和处理图都保存到BOS中。
语法
请求(Request)
PUT /<ObjectKey> HTTP/1.1
Host: <BucketName>.bj.bcebos.com
Date: <Date>
Authorization: <Authorization_String>
Content-Type: <type>
x-bce-process: system/load,b_buc,o_obj|image/<imageprocess>
请求头x-bce-process必选,在header和query中填入均可
- image后面使用新版本图片处理参数
- system用来指定保存信息,load表示从指定bucket中取出object;save表示将object保存到指定bucket。具体支持的action及参数如下:
action | 参数 | 取值 | 说明 | 是否必须 |
---|---|---|---|---|
load | b | - | bucket名,如果省略,则默认原object所在bucket | 否 |
o | - | 经过url安全的Base64编码的object名称 | 是 | |
save | b | - | bucket名,如果省略,则默认原object所在bucket | 否 |
o | - | 经过url安全的Base64编码的object名称 | 是 |
存量持久化
请求(Request)
通过在PutObject请求header中设置x-bce-process头来指定具体的持久化请求。
PUT /<ObjectKey> HTTP/1.1
Host: <BucketName>.bj.bcebos.com
Date: <Date>
Authorization: <Authorization_String>
Content-Type: <type>
x-bce-process: system/load,b_buc,o_obj|image/<imageprocess>
响应(Response)
返回处理持久化保存结果
示例
对存储在BOS的mytest bucket的test.jpg进行resize和格式转换,将处理结果图片保存到mytest1 bucket下的test_resize.bmp。
# 请求
PUT /test_resize.bmp HTTP/1.1
Host: mytest1.bj.bcebos.com
Date: <Date>
Authorization: <Authorization_String>
Content-Type: <type>
x-bce-process: system/load,b_mytest,o_dGVzdC5qcGc=|image/resize,m_fill,w_100,h_90/format,f_bmp
# 响应
HTTP/1.1 200 OK
x-bce-request-id: 4db2b34d-654d-4d8a-b49b-3049ca786409
Date: Wed, 06 Apr 2016 06:34:40 GMT
ETag: "1b2cf535f27731c974343645a3985328"
Content-Length: 0
Connection: close
Server: BceBos
限制:需要用户对mytest bucket有读权限,对mytest1 bucket有写权限,两者缺一不可
增量持久化
请求(Request)
通过在PutObject请求header中设置x-bce-process头来指定具体的持久化请求。
PUT /<ObjectKey> HTTP/1.1
Host: <BucketName>.bj.bcebos.com
Date: <Date>
Authorization: <Authorization_String>
Content-Type: text/plain
Content-Length: <Content_Length>
x-bce-process: image/<image_process>|system/save,b_buc,o_obj
响应(Response)
返回用户上传结果。
示例
上传test.jpg到mytest bucket,同时,对test.jpg进行resize和格式转换,将处理结果图片保存到mytest1 bucket下的test_resize.bmp。
# 请求
PUT /test.jpg HTTP/1.1
Host: mytest.bj.bcebos.com
Date: Wed, 06 Apr 2016 06:34:40 GMT
Authorization: <Authorization_String>
Content-Type: image/jpeg
Content-Length: 102409
x-bce-process:image/resize,m_fill,w_100,h_90/format,f_bmp|system/save,b_mytest1,o_dGVzdF9yZXNpemUuYm1w
[102409 bytes of object data]
# 响应
HTTP/1.1 200 OK
x-bce-request-id: 4db2b34d-654d-4d8a-b49b-3049ca786409
Date: Wed, 06 Apr 2016 06:34:40 GMT
ETag: "1b2cf535f27731c974343645a3985328"
Content-Length: 0
Connection: close
Server: BceBos
限制:需要用户对mytest bucket有写权限,对mytest1 bucket有写权限,两者缺一不可