我們提供圖片轉存的資料處理操作,將處理結果作為資源保存到指定bucket內,並賦以指定Key。保存成功後,下一次可直接通過指定Bucket來訪問該資源,以達到提升下載速度的效果。比較適用於超大圖的切割或者其他高延時操作。
請求文法
POST /ObjectName?x-oss-process HTTP/1.1
Content-Length:ContentLength
Content-Type: ContentType
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA
使用Post介面來調用圖片服務,參數在body中傳遞,增加saveas的operation來支援另存新檔OSS檔案。其中x-oss-process後面跟的參數和使用queryString來調用圖片處理功能的參數一致。
saveas的參數列表
參數 | 含義 |
---|---|
o | 目標object名稱,參數需經過urlsafe的base64編碼。 |
b | 目標bucket名稱,參數需經過urlsafe的base64編碼,如果不指定的話預設保存到當前bucket。 |
細節分析
- saveas操作需要調用方有寫目標bucket和object的許可權,否則返回403。
- saveas參數中的bucket和object名稱需滿足OSS的bucket和object名稱的規範,否則返回400。
- saveas指定的bucket需和當前bucket在同一個region,否則返回400。
- saveas操作只能在Post操作中使用,不能在Get操作中指定,否則返回400。
樣本
請求樣本
POST /ObjectName?x-oss-process HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 247
Date: Fri, 04 May 2012 03:21:12 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=
x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA
樣本中的參數含義為將靶心圖表片縮放之後保存到名稱為test的bucket,object名稱為test.jpg.
返回樣本
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906008B
Date: Fri, 04 May 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS