1. 程式人生 > >阿里雲 oss 之圖片處理持久化

阿里雲 oss 之圖片處理持久化

摘要:有時需要對客戶傳上來的圖片做縮圖,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程式碼,死活沒有成功,具體你們看上面給的文件

寫的很匆忙,有不對的望留言