微信小程序封裝多張圖片上傳api代碼實(shí)例
這篇文章主要介紹了微信小程序封裝多張圖片上傳api代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
代碼如下
export default class Upload{ constructor(object) { this.obj = { count:1, sizeType:['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有 sourceType:['album','camera'], // 可以指定來(lái)源是相冊(cè)還是相機(jī),默認(rèn)二者都有 } if(Object.prototype.toString.call(object) === "[object Object]"){ Object.assign(this.obj, object); }else{ uni.showToast({ title: '參數(shù)必須為對(duì)象', icon:"icon", duration: 2000 }); } return this; } // 上傳圖片 返回一個(gè)圖片的數(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("上傳圖片過(guò)程",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'], // 可以指定來(lái)源是相冊(cè)還是相機(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'], // 可以指定來(lái)源是相冊(cè)還是相機(jī),默認(rèn)二者都有 } let result = await new Upload(object).uploadPic();
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序HTTP請(qǐng)求從0到1封裝
- 微信小程序HTTP接口請(qǐng)求封裝代碼實(shí)例
- 微信小程序表單驗(yàn)證插件WxValidate的二次封裝功能(終極版)
- 微信小程序class封裝http代碼實(shí)例
- 基于Taro的微信小程序模板消息-獲取formId功能模塊封裝實(shí)踐
- 微信小程序中如何使用flyio封裝網(wǎng)絡(luò)請(qǐng)求
- 小程序封裝路由文件和路由方法(5種全解析)
- 微信小程序-API接口安全詳解
- 小程序云函數(shù)調(diào)用API接口的方法
- 微信小程序通過(guò)api接口將json數(shù)據(jù)展現(xiàn)到小程序示例
相關(guān)文章
基于JavaScript實(shí)現(xiàn)樹(shù)形下拉框
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)樹(shù)形下拉框的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08bootstrap導(dǎo)航欄、下拉菜單、表單的簡(jiǎn)單應(yīng)用實(shí)例解析
這篇文章主要介紹了bootstrap導(dǎo)航欄、下拉菜單、表單的簡(jiǎn)單應(yīng)用實(shí)例解析,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01JS如何實(shí)現(xiàn)在彈出窗口中加載頁(yè)面
這篇文章主要介紹了JS如何實(shí)現(xiàn)在彈出窗口中加載頁(yè)面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12JavaScript利用crypto模塊實(shí)現(xiàn)加解密
crypto模塊提供了加密功能,包含對(duì) OpenSSL 的哈希、HMAC、加密、解密、簽名、以及驗(yàn)證功能的一整套封裝。本文將利用它實(shí)現(xiàn)加解密算法,需要的可以參考一下2023-02-02js字符限制(字符截取) 一個(gè)中文漢字算兩個(gè)字符
有時(shí)候我們需要限制用戶的輸入或者需要截取一定長(zhǎng)度的字符串都需要用到這樣的功能代碼,這里腳本之家小編就為大家分享一下2017-09-09從setTimeout看js函數(shù)執(zhí)行過(guò)程
這篇文章主要介紹了從setTimeout看js函數(shù)執(zhí)行過(guò)程,需要的朋友可以參考下2017-12-12