重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家分享的是有关微信小程序中如何封装多张图片上传api的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
我们提供的服务有:网站设计、成都做网站、微信公众号开发、网站优化、网站认证、神木ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的神木网站制作公司代码如下
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: '参数必须为对象', icon:"icon", duration: 2000 }); } return this; } // 上传图片 返回一个图片的数组集合 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();
感谢各位的阅读!关于“微信小程序中如何封装多张图片上传api”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!