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(); } }