赞
踩
开发微信小程序时,时常会用到多图上传的情况,由于微信API的特性,一次只能上传一张图片,然而实际的情况是我们通常会要求一次上传多张图片,所以只能通过循环调用 wx.uploadFile 来实现上传多张图片,下面展示一段之前写的代码,并且添加了注释,提供大家参考。
- wx.chooseImage({
- // 最多可以选择的图片张数
- count: 9,
- // original原图 compressed压缩图
- sizeType: ['original', 'compressed'],
- // album 从相册选图 camera 使用相机
- sourceType: ['album', 'camera'],
-
- success(res) {
- wx.showLoading({
- title: '正在上传中',
- });
- // 返回的图片临时地址
- var tempFilePaths = res.tempFilePaths;
-
- // 循环上传多个图片
- for (var i = 0; i < tempFilePaths.length; i++) {
- wx.uploadFile({
- // 全局配置的图片上传地址
- url: App.globalData.uploadUrl,
- // 图片地址
- filePath: tempFilePaths[i],
- // 文件对应的key,默认值
- name: 'file',
- // HTTP 请求 Header,里面可以放要传递的参数
- header: {
- // token为主要的标识符
- 'token': App.globalData.token,
- },
- // 成功后的回调,可根据具体的业务来处理
- success: function(res) {
- wx.hideLoading();
- var data = JSON.parse(res.data);
- if (data.code == 200) {
-
- var list = that.data.list;
- list.push(data.list)
-
- wx.showToast({
- title: data.message,
- icon: 'none'
- })
- that.setData({
- list: list,
- })
- } else {
- wx.showToast({
- title: '上传失败!',
- icon: 'none'
- })
- }
- },
- })
- }
- }
- })
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。