微信小程式裡如何用阿里雲上傳視訊圖片
為了微信小程式客服端實現自拍視訊能夠分享給多個好友,我們需要把小程式自拍的視訊儲存到伺服器,而阿里雲在效能和速度上比較不錯,所以我們選擇了阿里雲作伺服器。
阿里雲官方文件:
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微信小程式
- uniapp小程式上傳圖片到騰訊雲APP
- 微信小程式簡單封裝圖片上傳元件微信小程式封裝元件
- Android圖片上傳到阿里雲OSS小案例Android阿里
- 微信小程式圖片使用示例微信小程式
- Flutter 上傳圖片到阿里雲OSSFlutter阿里
- vue 圖片上傳到阿里雲ossVue阿里
- 圖片裁剪並上傳到阿里雲oss阿里
- ueditor jsp版上傳圖片到阿里雲JS阿里
- 微信小程式開發:迴圈定時刪除阿里雲oss上傳的檔案微信小程式阿里
- 教你用微信小程式快速提取圖片上的文字微信小程式
- 微信小程式裁剪圖片成圓形微信小程式
- 百度編輯器 ueditor 上傳圖片視訊到阿里 Oss 或其他雲 PHP阿里PHP
- 微信小程式之裁剪圖片成圓形微信小程式
- golang對接阿里雲私有Bucket上傳圖片、授權訪問圖片Golang阿里
- 阿里雲視訊點播上傳,整合 Dcat admin阿里
- 【微信小程式雲開發】1分鐘學會實現上傳、下載、預覽、刪除圖片,並且以九宮格展示圖片微信小程式
- 易優CMS阿里雲OSS上傳圖片報錯-eyoucms阿里
- 【故障公告】阿里雲OSS故障造成圖片無法上傳阿里
- 前端使用 JS 上傳圖片至阿里雲 ali-oss前端JS阿里
- 5行程式碼實現微信小程式圖片上傳與騰訊免費5G儲存空間的使用行程微信小程式
- 微信小程式--實現圖片懶載入(lazyload)微信小程式
- flutter 圖片檢視,仿微信Flutter
- 在微信小程式中使用 echarts 圖片-例 折線圖微信小程式Echarts
- 小程式踩坑記錄-上傳圖片及canvas裁剪圖片後上傳至伺服器Canvas伺服器
- 讓微信小程式開發如魚得水微信小程式
- 微信小程式 Video 視訊太小怎麼辦微信小程式IDE
- ionic3 上傳圖片、壓縮圖片到阿里雲 服務端簽名後直傳阿里服務端
- javascript手機移動端微信拍照錄音錄視訊並阿里oss上傳JavaScript阿里
- 微信小程式 實現網路圖片本地快取微信小程式快取
- 微信小程式中圖片佔滿整個螢幕微信小程式
- 微信小程式開發之大神之路最全微信小程式開發教程(視訊+精品文章)微信小程式
- 微信JSSDK上傳圖片過程中編輯圖片描述,解決思路記錄JS