相思资源网 Design By www.200059.com
这篇文章主要介绍了微信小程序封装多张图片上传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: '参数必须为对象',
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();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无微信小程序封装多张图片上传api代码实例的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。