Open 349989153 opened 4 years ago
用postman发个formdata请求,我们可以看到数据长这样:
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="mobile"
13800138000
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="name"
张三
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="address"
地球
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="weappid"
abcdefghijklmn
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="id"
107
------WebKitFormBoundary7MA4YWxkTrZu0gW--
仔细观察以下,就可以总结出上面的拼装规则了。
其中,数据体中boundary
,是Content-Type
中的boundary
前面加--
小程序里没有
FormData
类,所以POST方法如果要传multipart/form-data就会报错。而npm上的
formdata-polyfill
,类似 https://github.com/form-data/form-data 或者https://github.com/jimmywarting/FormData 都不好用好在有人探究出来 https://developers.weixin.qq.com/community/develop/article/doc/0000cc0e5bc5d093c6f8be17254c13 可以手动拼装出
FormData
格式的字符串,并且成功调用。以下附代码: