因為小程序接口wx.uploadFile的限制,一次只能上傳一張照片。因此需要想辦法解決多個照片上傳的問題。
其實原理很簡單… 就是在循環that.data.list里的數據,循環調用內含上傳接口的方法。
代碼如下:
uploadPicToJY: function() { var that=this var imgList = that.data.imgList; for (var i = 0; i < imgList.length;i++){ wx.uploadFile({ url: app.globalData.root + 'service/WeChatParent.asmx/UploadPic', //僅為示例,非真實的接口地址 filePath: imgList[i], name: 'image', header: { "Content-Type": "multipart/form-data" }, success: function (res) { var data = res.data } }) } }
后台:
[WebMethod(Description = "上傳圖片")] public void UploadPic() { var resu = ""; HttpPostedFile file = HttpContext.Current.Request.Files[0]; byte[] buffer = new byte[file.ContentLength]; var fs = (System.IO.Stream)file.InputStream; fs.Read(buffer, 0, file.ContentLength); fs.Close(); resu = Convert.ToBase64String(buffer); var error = ""; PublicQuery.Base64StringToImage(resu, "試試", ".jpg", ref error); Exec.WriteResult(resu); }