微信小程式裡如何用阿里雲上傳視訊圖片
為了微信小程式客服端實現自拍視訊能夠分享給多個好友,我們需要把小程式自拍的視訊儲存到伺服器,而阿里雲在效能和速度上比較不錯,所以我們選擇了阿里雲作伺服器。
阿里雲官方文件:
https://help.aliyun.com/document_detail/31925.html?spm=a2c4g.11186623.6.634.AMs4Fj
需要由後臺提供介面,前端獲取一些必要引數
純手寫,踩了半天多的坑幹出來了。。。
網上也有對於阿里雲如何在微信小程式裡使用,但是很不全,包括阿里雲文件的最佳實踐裡。
上傳流程:
選擇圖片-->獲取到圖片臨時路徑,將圖片臨時路徑存入data
點選發布按鈕-->獲取oss引數
獲取oss引數成功-->執行上傳阿里雲
上傳阿里雲成功-->執行上傳伺服器
上傳伺服器成功-->結束整個上傳流程
由於為了方便大家瀏覽,沒有用函式回撥.
大家可以根據自己的需求,結合自己的場景,來進行函式回撥或者使用ES6的Promise方法.
上傳阿里雲過程中幾個容易忽視的坑: 圖片路徑處理/時間戳判斷
話不多說上程式碼了。
1 upvideo(){ 2 var aliOssParams = util.aliOssParams();//主要是獲取上傳阿里雲的加密策略policy和簽名signature;以及上傳自己要上傳到阿里雲的地址,當然還有自己阿里雲accessid。 3 //上傳視訊到阿里雲 4 var that = this; 5 wx.chooseVideo({ 6 maxDuration: 10, 7 success: function (res) { 8 var tempFilePath = res.tempFilePath; 9 var stringFilePath = String(tempFilePath); 10 var indexType = stringFilePath.lastIndexOf('.'); 11 var type = stringFilePath.substring(indexType); 12 var alikey = 'video/'+new Date().getTime() + 13 Math.floor(Math.random() * 1000)+ type ;//隨機1000內的數加上時間戳作為你存放在阿里雲video目錄下名字和型別。 14 wx.uploadFile({ 15 url:aliOssParams.host, 16 filePath: tempFilePath, 17 name: 'file', 18 formData: { 19 name: tempFilePath, 20 key: alikey,//這個是關鍵它是定義存放在阿里雲那個目錄下 21 policy:aliOssParams.policy,//上傳阿里雲的加密策略 22 OSSAccessKeyId: aliOssParams.aid,//自己阿里雲的aid 23 success_action_status: "200", 24 signature: aliOssParams.signature,//上傳阿里雲的簽名 25 }, 26 success: function (res) { 27 var videoUrl = aliOssParams.host+'/'+alikey;//這就是 28 剛上傳阿里雲後的存放的地址連結,通過它開啟你剛上傳視訊。 29 that.videoUrl = videoUrl; 30 console.log('that',that,videoUrl); 31 wx.showToast({ 32 title: "上傳成功", 33 icon: 'success', 34 duration: 1000 35 }) 36 }, 37 fail: function ({ errMsg }) { 38 wx.showToast({ 39 title: "上傳失敗", 40 duration: 1000 41 }) 42 }, 43 }) 44 } 45 }) 46
通過程式碼大家可以看到最關鍵的是啥,如何獲取加密策略和簽名了,當然了,阿里雲最佳實踐裡有demo,但是crypto這個庫已經廢棄了,它demo給你帶過來的crypto,你只能自己去提取了。
這裡是我提為大家提取的crypto函式,直接copy用。
有了上面的crypto工具函式了,就去看看具體如何生成簽名與加密策略吧。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
至於如何上傳圖片,大體如下,請保證以上都已經跑通了,base64記得你上面引到。。
多張圖片的上傳如此
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
|
都是自己親測,親坑。。。碼字很累。解決了你的問題,就分享一哈吧。
相關文章
- 微信小程式 圖片上傳微信小程式
- 微信小程式上傳圖片至七牛微信小程式
- 微信小程式開發:上傳網路圖片到阿里雲oss微信小程式阿里
- 小程式上傳圖片到阿里雲oss阿里
- 微信小程式簡單封裝圖片上傳元件微信小程式封裝元件
- Uniapp開發微信小程式+Node ---- 圖片上傳APP微信小程式
- 微信小程式[第十一篇] -- 新增照片(小程式圖片上傳功能)微信小程式
- 微信小程式-拍照或選擇圖片並上傳檔案微信小程式
- iOS圖片,視訊上傳&視訊內容旋轉iOS
- 微信小程式基於騰訊雲物件儲存的圖片上傳微信小程式物件
- Android圖片上傳到阿里雲OSS小案例Android阿里
- 微信小程式開發之從相簿獲取圖片 使用相機拍照 本地圖片上傳微信小程式地圖
- 在微信小程式裡實現圖片預載入元件微信小程式元件
- 小程式開發:上傳圖片到騰訊雲
- 微信小程式圖片使用示例微信小程式
- 網路請求(一般請求,上傳圖片,上傳視訊)
- Flutter 上傳圖片到阿里雲OSSFlutter阿里
- vue 圖片上傳到阿里雲ossVue阿里
- 小程式踩坑記錄-上傳圖片及canvas裁剪圖片後上傳至伺服器Canvas伺服器
- 教你用微信小程式快速提取圖片上的文字微信小程式
- 圖片裁剪並上傳到阿里雲oss阿里
- 短視訊平臺開發,圖片上傳和圖片預覽功能實現
- 短視訊直播原始碼,動態釋出時選擇圖片、上傳圖片原始碼
- 富文字編輯器Quill(二)上傳圖片與視訊UI
- 微信小程式裁剪圖片成圓形微信小程式
- PHP仿微信多圖片預覽上傳功能PHP
- ueditor jsp版上傳圖片到阿里雲JS阿里
- ASP上傳圖片程式碼例子
- vue 上傳圖片到阿里雲(前端直傳:不推薦)Vue阿里前端
- 微信小程式開發–視訊教程系列微信小程式
- 怎麼認證微信小程式-微信小程式開發-視訊教程2微信小程式
- golang對接阿里雲私有Bucket上傳圖片、授權訪問圖片Golang阿里
- 微信小程式之裁剪圖片成圓形微信小程式
- FileReader與URL.createObjectURL實現圖片、視訊上傳預覽Object
- Retrofit+RxJava上傳圖片上傳圖片到後臺RxJava
- 阿里雲上傳多張圖片阿里
- 【easyui 】上傳圖片UI
- 圖片上傳的asp程式碼 (轉)