微信小程序实现多张图片上传功能
#代码知识 发布时间: 2026-01-12
本文实例为大家分享了微信小程序实现多张图片上传的具体代码,供大家参考,具体内容如下
Page({
/**
* 页面的初始数据
*/
data: {
pics: [],
count: 9, //上传图片最大数量
// showImgUrl: "", //路径拼接,一般上传返回的都是文件名,
uploadImgUrl: 'https://xxx/UploadHandler.ashx', //图片的上传的路径
detailPics: [], //上传的结果图片集合
},
selectimages() {
var that = this;
var detailPics = that.data.detailPics;
if (detailPics.length >= that.data.count) {
wx.showToast({
title: '最多选择' + that.data.count + '张!',
})
return;
}
wx.chooseImage({
count: that.data.count, // 最多可以选择的图片张数,默认9
sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
success: function(res) {
var imgs = res.tempFilePaths;
for (var i = 0; i < imgs.length; i++) {
that.data.pics.push(imgs[i])
}
that.setData({
pics: that.data.pics
})
console.log(that.data.pics)
that.uploadimg({
url: that.data.uploadImgUrl, //这里是你图片上传的接口
path: that.data.pics, //这里是选取的图片的地址数组
});
},
})
},
//多张图片上传
uploadimg: function(data) {
wx.showLoading({
title: '上传图片中...',
mask: true,
})
var that = this,
i = data.i ? data.i : 0,
success = data.success ? data.success : 0,
fail = data.fail ? data.fail : 0;
wx.uploadFile({
url: data.url,
filePath: data.path[i],
name: 'fileData',
formData: null,
success: (resp) => {
wx.hideLoading();
success++;
var str = resp.data //返回的结果,可能不同项目结果不一样
var pic = JSON.parse(str);
var pic_name = pic.url;
var detailPics = that.data.detailPics;
detailPics.push(pic_name)
that.setData({
detailPics: detailPics
})
},
fail: (res) => {
fail++;
console.log('fail:' + i + "fail:" + fail);
},
complete: () => {
i++;
if (i == data.path.length) { //当图片传完时,停止调用
that.send()
console.log('执行完毕');
console.log('成功:' + success + " 失败:" + fail);
var myEventDetail = {
picsList: that.data.detailPics
} // detail对象,提供给事件监听函数
var myEventOption = {} // 触发事件的选项
that.triggerEvent('myevent', myEventDetail, myEventOption) //结果返回调用的页面
} else { //若图片还没有传完,则继续调用函数
data.i = i;
data.success = success;
data.fail = fail;
that.uploadimg(data); //递归,回调自己
}
}
});
},
})
效果图:
为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
代码知识SEO上一篇 : 解决Mybatis-plus找不到对应表及默认表名命名规则的问题
下一篇 : Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!