在使用微信小程式上傳SDK上傳媒體之前,需要先整合相關SDK。本文提供整合及檔案上傳指引。
上傳檔案
微信小程式上傳檔案的基本操作步驟如下:
引入JavaScript指令碼。
JavaScript指令碼下載,請參見上傳SDK。
import VODUpload from 'aliyun-upload-sdk-1.0.3.min.js'
請求上傳地址和憑證或請求STS臨時Token,用於上傳授權。
微信小程式上傳,支援以下兩種上傳授權方式:
- 部署授權服務擷取上傳地址和憑證的操作指引請參見擷取上傳地址和憑證。
- 部署STS服務擷取STS臨時Token的操作指引請參見擷取STS臨時Token。
執行結果
使用擷取到的上傳地址和憑證或STS臨時Token作為入參初始化上傳執行個體。
使用上傳憑證或STS臨時Token初始化上傳執行個體。
初始化上傳執行個體分為聲明初始化回調和初始化上傳執行個體兩步。
聲明
VODUpload
初始化回調。初始化上傳執行個體。請根據業務需求選擇用上傳地址和憑證方式或STS方式初始化上傳執行個體。
(推薦)上傳地址和憑證方式
在上傳開始後觸發的
onUploadStarted
回調中調用setUploadAuthAndAddress(uploadFileInfo, uploadAuth, uploadAddress,videoId);
方法進行設定。說明當Token逾時,會觸發
onUploadTokenExpired
回調,需要調用resumeUploadWithAuth(uploadAuth)
方法,設定新的上傳憑證繼續上傳。STS方式
在上傳開始後觸發的
onUploadStarted
回調中調用setSTSToken(uploadInfo, accessKeyId, accessKeySecret, secretToken);
方法進行設定。說明當STS臨時Token失效時,會觸發
onUploadTokenExpired
回調,需要調用resumeUploadWithSTSToken(accessKeyId, accessKeySecret, secretToken);
方法,設定新的STS繼續上傳。
根據上傳的檔案類型(音視頻、圖片)構造上傳參數。
音視頻檔案參數
構造添加音視頻檔案到上傳列表的上傳請求函數。
wx.chooseVideo({ success: function (res) { var file = {url: res.tempFilePath, coverUrl: res.thumbTempFilePath}; var userData = '{"Vod":{}}'; uploader.addFile(file, null, null, null, userData) } })
上傳時,可以通過
paramData
設定自訂音視頻資訊。paramData
是一個JSON對象字串,第一級的Vod
必須設定。請在Vod
下面添加paramData
支援的屬性。屬性支援情況詳細資料請參見擷取音視頻上傳地址和憑證。樣本如下:var userData = '{"Vod":{"Title":"test","CateId":"234"}}';
圖片檔案參數
構造添加圖片檔案到上傳列表的上傳請求參數。
wx.chooseImage({ success: function (res) { var file = {url: res.tempFilePath, coverUrl: res.thumbTempFilePath}; var userData = '{"Vod":{}}'; uploader.addFile(file, null, null, null, userData) } })
開始上傳。
調用
startUpload()
方法開始上傳。uploader.startUpload();
檔案開始上傳後,
onUploadProgress
回調開始同步上傳進度。檔案上傳成功後,
onUploadSucceed
回調會返回上傳結果。
執行結果
隊列管理
刪除上傳檔案
index對應listFiles介面返回列表中元素的索引。
uploader.deleteFile(index);
取消單個檔案上傳
uploader.cancelFile(index);
說明該方法只對當前正在上傳或等待上傳的檔案生效。
恢複單個檔案上傳
uploader.resumeFile(index);
擷取上傳檔案清單
uploader.listFiles();
清理上傳檔案清單
uploader.cleanList();
上傳憑證
上傳憑證失效後恢複上傳
uploader.resumeUploadWithAuth(uploadAuth);
設定上傳地址和上傳憑證
設定上傳地址和上傳憑證方法在
onUploadstarted
回調裡調用,此回調的參數包含uploadInfo
的值。uploader.setUploadAuthAndAddress(uploadInfo,uploadAuth, uploadAddress, videoId);
設定STS Token
設定STS Token的方法在
onUploadstarted
回調裡調用,此回調的參數包含uploadInfo
的值。uploader.setSTSToken(uploadInfo, accessKeyId, accessKeySecret,secretToken);
上傳STS Token失效後恢複上傳
uploader.resumeUploadWithSTSToken(accessKeyId, accessKeySecret, secretToken, expireTime);