阿里雲 oss 之圖片處理持久化
阿新 • • 發佈:2019-02-10
摘要:有時需要對客戶傳上來的圖片做縮圖,LZ是對一張圖片進行一次post請求後,就永久儲存該縮圖,有使用者請求,就返回該縮圖的URL
LZ為了方便,直接瀏覽器外掛進行的post請求,比如postman等,請求的引數配置如下
返回結果如下
上面LZ寫在headers裡的3個引數,還有很多其他的引數,具體的自己看文件,時間格式是GMT的,Java生成GMT格式時間
public static void main(String args[]) {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss 'GMT'", Locale.US);
sdf.setTimeZone(TimeZone.getTimeZone("GMT")); // 設定時區為GMT Tue, 20 Mar 2018 09:00:31 GMT
String time = sdf.format(calendar.getTime());
System.out.println(time);
}
至於這個 Authorization,如是oss後臺管理的bucket的許可權是公共讀寫,就不需要傳引數也可訪問成功,如是設定了許可權,就得填寫,Authorization生成可以檢視
官網文件 https://help.aliyun.com/document_detail/31951.html?spm=a2c4g.11186623.6.868.vkNQkd
在這裡LZ就講解 Signature(生成方式有很多)的生成程式碼,官網給的是python程式碼,執行環境是python2,程式碼
import base64
import hmac
import sha
h = hmac.new("accessKeySecret",
"POST\n\napplication/x-www-form-urlencoded\nTue, 20 Mar 2018 02:59:45 GMT\nx-oss-date:Tue, 20 Mar 2018 02:59:45 GMT\n/bucketname/5.jpg?x-oss-process" , sha)
Signature = base64.b64encode(h.digest())
print("Signature: %s" % Signature)
看仔細了,LZ的和官網程式碼的時間傳的有點不一樣,反正LZ按官網的python程式碼,死活沒有成功,具體你們看上面給的文件
寫的很匆忙,有不對的望留言