小程序代碼
upload:function(e){ var that = this; wx.showActionSheet({ itemList: ['從相冊選擇','拍照'], itemColor:"#f7982a", success:function(res){ if(!res.cancer){ if (res.tapIndex==0){ that.chooseWxImageShop('album'); } else if (res.tapIndex == 1) { that.chooseWxImageShop('camera') } } } }) }, chooseWxImageShop: function (type) { var that = this; wx.chooseImage({ sizeType: ['original', 'compressed'], sourceType: [type], success: function (res) { /*上傳單張 that.data.orderDetail.shopImage = res.tempFilePaths[0], that.upload_file(API_URL + 'shop/shopIcon', res.tempFilePaths[0]) */ // 上傳多張(遍歷數組,一次傳一張) for (var index in res.tempFilePaths) { that.upload_file('后台接口地址', res.tempFilePaths[index]) } } }) }, upload_file: function (url, filePath) { var that = this; wx.uploadFile({ url: url, filePath: filePath, name: 'imagefile', header: { 'content-type': 'multipart/form-data' }, // 設置請求的 header formData: { 'guid':"procomment" }, // HTTP 請求中其他額外的 form data success: function (res) { console.log(JSON.parse(res.data).msg) }, fail: function (res) { } }) }
后台代碼
public String doUpload(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "imagefile", required = false) MultipartFile imagefile) throws Exception { try { String type = imagefile.getOriginalFilename().substring(imagefile.getOriginalFilename().lastIndexOf(".")).toLowerCase(); File targetFile = new File("D:/images/upload/" , type); if (!targetFile.exists()) { targetFile.mkdirs(); } imagefile.transferTo(targetFile); return type } catch (Exception e) { return "上傳失敗" }