使用了colorUI框架
index.wxml
<view class="cu-bar bg-white margin-top"> <view class="action"> 圖片上傳 </view> <view class="action"> {{imgList.length}}/9 </view> </view> <view class="cu-form-group"> <view class="grid col-3 grid-square flex-sub"> <view class="bg-img" wx:for="{{imgList}}" wx:key="{{index}}" bindtap="ViewImage" data-url="{{imgList[index]}}"> <image src='{{imgList[index]}}' mode='aspectFill'></image> <view class="cu-tag bg-red" catchtap="DelImg" data-index="{{index}}"> <text class="cuIcon-close"></text> </view> </view> <view class="solids" bindtap="doUpload" wx:if="{{imgList.length<9}}"> <text class="cuIcon-cameraadd"></text> </view> </view> </view>
index.js
// 上傳圖片 doUpload: function() { var that = this // 選擇圖片 wx.chooseImage({
// 選擇圖片數量 count: 1, sizeType: ['compressed'], sourceType: ['album', 'camera'], success: function(res) { wx.showLoading({ title: '上傳中', }) const filePath = res.tempFilePaths[0] // 上傳圖片
// 定義圖片名,為了避免重復我是用的是上傳圖片的時間戳 var timestamp = Date.parse(new Date()); const cloudPath = timestamp + filePath.match(/\.[^.]+?$/)[0] wx.cloud.uploadFile({ cloudPath, filePath, success: resa => { console.log('[上傳文件] 成功:', resa) that.setData({ imgList: that.data.imgList.concat(resa.fileID) }) that.is_all_ok() }, fail: e => { console.error('[上傳文件] 失敗:', e) wx.showToast({ icon: 'none', title: '上傳失敗', }) }, complete: () => { wx.hideLoading() } }) }, fail: e => { console.error(e) } }) },