閱讀471 返回首頁    go 阿裏雲


關鍵詞__接入圖片服務_老版圖片服務手冊_對象存儲 OSS-阿裏雲

順序無關

轉換參數中鍵值對是循序無關的,即"120w_120h_90Q"和"90Q_120w_120h"都能取到想要的圖片,係統會對參數按照本規範以下定義的順序重新排序後再處理。(由於參數的順序不同有時會表達不同的語義,如“100w_100h_2x”表達的是“先縮放到100*100,再放大2倍”,即得到200*200的圖片;而"2x_100w_100h"按照字麵順序理解是“先放大2倍再縮放到100*100”,即得到100*100的圖片,為了避免這樣的理解誤差,同時簡化處理方式,IMG會對參數按照文檔中出現的順序排序後處理。上例中的"2x_100w_100h"會被理解為“100w_100h_2x”,得到200*200的圖片。)

覆蓋處理

如果轉換參數中出現多個相同“鍵”,後麵定義的覆蓋前麵定義。如“120w_120h_240w”等同於“120h_240w”。

衝突處理

見每個參數中關於衝突的說明。

長邊與短邊

關於“長邊”和“短邊”的定義需要特別注意,它們表達的是在縮放中相對比例的長或短。“長邊”是指原尺寸與目標尺寸的比值大的那條邊;“短邊”同理。如原圖400 * 200,縮放為800 * 100,(400/800=0.5200/100=20.5 < 2),所以在這個縮放中200那條是長邊,400是短邊。

URL安全的Base64位編碼

在圖片處理服務裏會有很多參數需要變成Base64位編碼,參考RFC4648。注意這裏的URL 安全Base64位編碼隻是用在水印操作某些特定參數(文字水印的文字內容,文字顏色,文字字體及圖片水印的水印object)裏,不要將其用來簽名字符串(Signature)的內容。編碼的格式是:

  • 先將內容編碼成Base64結果;
  • 將結果中的加號”+”替換成中劃線“-“;
  • 將結果中的斜杠”/”替換成下劃線”_”;
  • 將結果中尾部的“=”號全部保留;
以Python為例子

import base64
input='wqy-microhei'
print(base64.urlsafe_b64encode(input))

最後更新:2016-11-23 16:04:11

  上一篇:go 圖片URL規則__接入圖片服務_老版圖片服務手冊_對象存儲 OSS-阿裏雲
  下一篇:go 用戶鑒權__接入圖片服務_老版圖片服務手冊_對象存儲 OSS-阿裏雲