最近開發的時候遇到一個問題,小程序 上需要向后端傳 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