第二步:把图片从开发者服务器读取并保存到另一个服务器
这里当时因为POST数据以及'content-type',还有JSON.stringify也卡住了好久(知识点不扎实)
//保存图片
saveImage: function(e) {
//console.log("新json字符串:" + JSON.stringify(this.data.saveImageList));
wx.request({
url: app.globalData.apiurl + '/api/NoUploadBackBill/SaveImageFile',
data: JSON.stringify(this.data.saveImageList),
header: {
'content-type': 'application/json',
'Authorization': "BasicAuth " + util.getToken()
},
method: "POST",
success: res => {
console.log(" POST success:" + res.data.Message);
if (res.data.Code == "0") {
wx.showToast({
title: '上传成功',
icon: 'none',
mask: true,
duration: 2000
});
} else {
wx.showToast({
title: '上传图片到服务器失败:' + res.data.Message,
icon: 'none',
mask: true,
duration: 2000
});
}
},
fail: res => {
console.log("saveImage fail:" + res.data);
}
});
},
这里大家一定也会关心数据的转换,这里贴一下后台代码:
//接收参数为dynamic类型
public IHttpActionResult SaveImageFile(dynamic obj){
var s = JsonConvert.SerializeObject(obj);
//实例化一个能够序列化数据的类
JavaScriptSerializer js = new JavaScriptSerializer();
//将json数据转化为对象类型
var entity = js.Deserialize<NoUploadBackBillModel>(s);
}
还有数据读取以及保存,这里使用文件流FileStream处理,从图片转换为二进制流读取,这里是调用web service处理的。具体代码不在我这边,就没有办法贴出来啦~
参考链接:
WebAPI 接口参数
15. WebAPI 找到了与该请求匹配的多个操作
找到了与该请求匹配的多个操作的解决办法
WebApi 找到了与该请求匹配的多个操作
WebAPI post传递参数2、实体作为参数
16. 小程序自适应单位rpx
这个rpx我原来不知道是微信小程序推出了新尺寸单位。直到我做完功能测试发现没有自适应。因为我在里面惯性使用了px和em。后来看这个参考链接就全部改过来了,然后页面在不同的设备不会溢出啦。参考链接如下:
最后,想说所遇到的问题点几乎都经过查阅资料解决。在知识红利的时代,大家无私分享自己的所学,在此非常感谢分享开发总结的伙伴。诚挚感谢!