前端代码,参照文档:https://docs.alipay.com/mini/api/network
但是后台没有任何API,这个很坑爹啊。
网上也几乎找不到多少支付宝小程序代码,一搜几乎都是微信小程序的。纠结了几天,关于微信的解决方案网上有很多,到处乱摘一些也没有解决。最后倒是用最简单的方式完成了实现。
前端代码:
my.uploadFile({
url: 'http://www.example.com/uploadFaceImage',
headers: {
'Content-Type': 'multipart/form-data',
'sign': accessToken
},
fileType: 'image',
fileName: 'image',
filePath: _self.data.upImg,
formData: {
code: _self.data.code
},
success: (res) => {
var msg = JSON.parse(res.data)
if (msg.retCode == 1) {
my.alert({content: '上传成功!'});
} else {
my.alert({content: msg.data || '上传失败!'});
}
},
fail: function(res) {
my.alert({content: '上传失败!'});
}
});
后台代码
@RequestMapping(value="/uploadFaceImage",method=RequestMethod.POST)
public String uploadPicture(HttpServletRequest request, HttpServletResponse response)
throws Exception {
// 前端form-data中的数据
String code = (String) request.getParameter("code");
MultipartHttpServletRequest req =(MultipartHttpServletRequest)request;
MultipartFile multipartFile = req.getFile("image");
// 取出字节,这个就是重点。有了图片的字节,就可以进行业务处理了
byte[] content = multipartFile.getBytes();
// 上传到oss
String path = ossApiManager.putObjectByte(content);
return "success";
}