我們提供圖片轉存的資料處理操作,將處理結果作為資源保存到指定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