微信小程序封裝多張圖片上傳api代碼實例
更新時間:2019年12月30日 14:24:42 作者:劍圣_LLX
這篇文章主要介紹了微信小程序封裝多張圖片上傳api代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
這篇文章主要介紹了微信小程序封裝多張圖片上傳api代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
代碼如下
export default class Upload{
constructor(object) {
this.obj = {
count:1,
sizeType:['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有
sourceType:['album','camera'], // 可以指定來源是相冊還是相機,默認二者都有
}
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("上傳圖片結果",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, // 默認9
sizeType: this.obj.sizeType,//['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有
sourceType: this.obj.sourceType,//['album','camera'], // 可以指定來源是相冊還是相機,默認二者都有
success: function (res) {
// console.log(res)
resolve(res)
},
fail:function(){
reject("選擇文件失敗")
}
})
})
}
}
使用實例
let object = {
count:1,
sizeType:['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有
sourceType:['album','camera'], // 可以指定來源是相冊還是相機,默認二者都有
}
let result = await new Upload(object).uploadPic();
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
JS實現(xiàn)超精簡的鏈接列表在固定區(qū)域內滾動效果代碼
這篇文章主要介紹了JS實現(xiàn)超精簡的鏈接列表在固定區(qū)域內滾動效果代碼,非常常見的頁面元素屬性變換控制實現(xiàn)滾動效果,簡單實用,需要的朋友可以參考下2015-11-11
除Console.log()外更多的Javascript調試命令
本篇文章給大家介紹了除Console.log()外更多的Javascript調試命令,方便大家更多環(huán)境下的JS調試,學習下吧。2018-01-01
深度剖析JavaScript作用域從局部到全局一網(wǎng)打盡
這篇文章主要為大家介紹了JavaScript作用域的深度剖析,從局部到全局一網(wǎng)打盡,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
JS基于正則實現(xiàn)數(shù)字千分位用逗號分隔的方法
這篇文章主要介紹了JS基于正則實現(xiàn)數(shù)字千分位用逗號分隔的方法,涉及javascript正則表達式操作數(shù)字的相關實現(xiàn)技巧,需要的朋友可以參考下2017-06-06

