基于form-data请求格式详解
form-data请求格式
multipart/form-data是基于post方法来传递数据的,并且其请求内容格式为Content-Type: multipart/form-data,用来指定请求内容的数据编码格式。另外,该格式会生成一个boundary字符串来分割请求头与请求体的,具体的是以一个boundary=${boundary}来进行分割,伪码如下:
|
1
2
3
4
5
6
7
8
|
...Content-Type: multipart/form-data; boundary=${boundary} --${boundary}......--${boundary}-- |
上面boundary=${boundary}之后就是请求体内容了,请求体内容各字段之间以--${boundary}来进行分割,以--${boundary}--来结束请求体内容。
具体可以参考下面例子:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
POST http://www.example.com HTTP/1.1Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryyb1zYhTI38xpQxBK------WebKitFormBoundaryyb1zYhTI38xpQxBKContent-Disposition: form-data; name="city_id"1------WebKitFormBoundaryyb1zYhTI38xpQxBKContent-Disposition: form-data; name="company_id"2------WebKitFormBoundaryyb1zYhTI38xpQxBKContent-Disposition: form-data; name="file"; filename="chrome.png"Content-Type: image/pngPNG ... content of chrome.png ...------WebKitFormBoundaryyb1zYhTI38xpQxBK-- |
form-data格式一般是用来进行文件上传的。使用表单上传文件时,必须让
表单的 enctype 等于 multipart/form-data,因为该值默认值为application/x-www-form-urlencoded。

浙公网安备 33010602011771号