微信小程序封裝多張圖片上傳api代碼實(shí)例
更新時間:2019年12月30日 14:24:42 作者:劍圣_LLX
這篇文章主要介紹了微信小程序封裝多張圖片上傳api代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
這篇文章主要介紹了微信小程序封裝多張圖片上傳api代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
代碼如下
export default class Upload{ constructor(object) { this.obj = { count:1, sizeType:['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有 sourceType:['album','camera'], // 可以指定來源是相冊還是相機(jī),默認(rèn)二者都有 } if(Object.prototype.toString.call(object) === "[object Object]"){ Object.assign(this.obj, object); }else{ uni.showToast({ title: '參數(shù)必須為對象', icon:"icon", duration: 2000 }); } return this; } // 上傳圖片 返回一個圖片的數(shù)組集合 async uploadPic(){ let chooseImageResult = await this.chooseImage() console.log("選擇圖片",chooseImageResult) let imgArr = await chooseImageResult.tempFilePaths.map(async (item,index) => { uni.showLoading({ title: `正在上傳第${index+1}張` }); let uploadFileResult = await this.uploadFile(item) console.log("上傳圖片過程",uploadFileResult) return getApp().globalData.img_prefix + uploadFileResult.data.file.url; }) return new Promise((resolve,reject) => { Promise.all(imgArr).then((result)=>{ uni.hideLoading(); uni.showToast({ title: '上傳成功', icon:"none", duration: 2000 }); console.log("上傳圖片結(jié)果",result) resolve(result) }) }) } uploadFile(file){ return new Promise((resolve, reject) => { uni.uploadFile({ url: 'https://baidu.com/upload/', //此處是你自己上傳接口 filePath: file, name: 'file', success: function (res) { var data = res.data; resolve(JSON.parse(data)) }, fail: function (res) { reject("上傳失敗") }, complete: function (res) { uni.hideToast(); } }) }) } chooseImage(){ return new Promise((resolve,reject) => { uni.chooseImage({ count: this.obj.count,//1, // 默認(rèn)9 sizeType: this.obj.sizeType,//['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有 sourceType: this.obj.sourceType,//['album','camera'], // 可以指定來源是相冊還是相機(jī),默認(rèn)二者都有 success: function (res) { // console.log(res) resolve(res) }, fail:function(){ reject("選擇文件失敗") } }) }) } }
使用實(shí)例
let object = { count:1, sizeType:['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有 sourceType:['album','camera'], // 可以指定來源是相冊還是相機(jī),默認(rèn)二者都有 } let result = await new Upload(object).uploadPic();
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于JavaScript實(shí)現(xiàn)樹形下拉框
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)樹形下拉框的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08bootstrap導(dǎo)航欄、下拉菜單、表單的簡單應(yīng)用實(shí)例解析
這篇文章主要介紹了bootstrap導(dǎo)航欄、下拉菜單、表單的簡單應(yīng)用實(shí)例解析,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-01-01JavaScript利用crypto模塊實(shí)現(xiàn)加解密
crypto模塊提供了加密功能,包含對 OpenSSL 的哈希、HMAC、加密、解密、簽名、以及驗(yàn)證功能的一整套封裝。本文將利用它實(shí)現(xiàn)加解密算法,需要的可以參考一下2023-02-02從setTimeout看js函數(shù)執(zhí)行過程
這篇文章主要介紹了從setTimeout看js函數(shù)執(zhí)行過程,需要的朋友可以參考下2017-12-12