1、页面WXMLajax
<view class="weui-uploader__bd"> <view class="weui-uploader__files"> <block wx:for="{{imageList}}" wx:for-item="image"> <view class="weui-uploader__file"> <image class="weui-uploader__img" src="{{image}}" data-src="{{image}}" bindtap="previewImage"></image> </view> </block> </view> <view class="weui-uploader__input-box"> <view class="weui-uploader__input" bindtap="chooseImage"></view> </view> </view> </view> <view class="l-btn" bindtap="upload">发布需求</view>
2、选择图片小程序
data:{
imageList:[]
},
chooseImage: function () { var that = this wx.chooseImage({ count: 6, success: function (res) { that.setData({ imageList: res.tempFilePaths }) } }) },
3、上传api
小程序一次只能上传一张图片,因此写了一个递归去上传,里面的判断没好好写,大概就是个思路,欢迎拍砖app
upload:function(){ var i = 0, demand_id='',uploadFiles = function(){ // console.log(i,demand_id) if (i == self.data.imageList.length) { sig = false; wx.redirectTo({ url:'../square/square?demand_id=' + demand_id }); return; } wx.uploadFile({ url: app.globalData.ajaxurl + 'api/demand/push', filePath: self.data.imageList[i], // 经过chooseImage获取到的文件临时列表 name: 'file', //文件键名(后台经过此名字得到文件数据) formData: formdata, //二外数据 complete:function(res){ if(typeof res.data == 'string'){ res.data = JSON.parse(res.data) } i++; if (res.statusCode == 200) { if (res.data.status == 200 && i==1) { formdata.demand_id = res.data.data.demand_id; if(!demand_id){ demand_id = formdata.demand_id; // console.log(demand_id) } uploadFiles(); } }else{ wx.showModal({ title: '失败', content: '请求失败,请重试' }) sig = false; return; } if(i>1){ uploadFiles(); } } }); } uploadFiles(); } }