最近开发的时候遇到一个问题,小程序 上需要向后端传 base64 的图片,且需要使用multipart/form-data 的方式将数据传给后端,然而(wx|uni).request 没有直接支持 multipart/form-data,百度了半天终于找到了解决方法,在这里记录一下。
第一个问题:请求头的 content-type 设置:
1 'content-type':'multipart/form-data; boundary=XXX'
第二个问题:data 参数设置:使用 XXX 来分隔参数 (boundary=XXX)
1 formdata:function(obj) { 2 let result = '' 3 for (let name of Object.keys(obj)) { 4 let value = obj[name]; 5 result += 6 '\r\n--XXX' + 7 '\r\nContent-Disposition: form-data; name=\"'+ name +'\"'+ 8 '\r\n' + 9 '\r\n' + value 10 } 11 return result + '\r\n--XXX--' 12 }
这样就大功告成啦!
参考来源:https://developers.weixin.qq.com/community/develop/article/doc/0000cc0e5bc5d093c6f8be17254c13