我們使用 sdk 開發微信小程序上傳圖片到oss,這個流程大致了解下就行微信小程序上傳圖片到oss,簽名的實現 sdk 已經包含,只需要調用方法即可。
通過簽名流程我們可以知道,簽名需要 和 ,這兩個信息不適合存放在客戶端中,這也是我們單獨部署一個鑒權服務器的主要原因。
簽名生成 API
上一篇小程序開發: sanic 實現小程序登錄注冊 我們介紹過,服務端使用 sanic 框架 + 生成 rest-api。
添加簽名生成 api 我們需要先在文檔中添加 API 的相關描述。文檔代碼:
這個接口我們要求登錄才能調用。
文檔定義完成之后,調用
生成代碼模板,API 代碼實現如下:
由于 騰訊云COSv4 的 SDK 只支持 ,而 sanic 需要 .5+ 所以,這里我 fork 出來一份添加了 的支持。
。使用 環境的可以使用這個版本。
上傳圖片到 cos
選擇圖片
wx.()
從本地相冊選擇圖片或使用相機拍照。
調用這個方法,小程序會把選擇的圖片放到臨時路徑(在小程序本次啟動期間可以正常使用,如需持久保存,需在主動調用 wx.,在小程序下次啟動時才能訪問得到),我們只能將臨時路徑的文件上傳。
核心代碼如下:
這里圖片選擇成功后,我們取原圖上傳到 cos。
上傳圖片
cos 上傳圖片的URL由 ,appid,和 拼接而成。
把以下字段配置成自己的cos相關信息,詳情可看API文檔
: cos上傳的地區
APPID: 賬號的appid
: cos 的名字
: 上傳的文件目錄
小程序提供了 .() 來獲取圖片的上傳進度,這里我將圖片的上傳進度顯示了出來。
完整代碼參考:metis-wxapp:
參考鏈接