因為小程序接口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);
}
