1:form-data

image.png
此時對應(yīng)的
Content-Type:multipart/form-data;
<form action="${pageContext.request.contextPath}/imageUpload_saveOrUpdate.action" method="post" enctype="multipart/form-data">
<div>
<label>請選擇上傳圖片地址:</label>
<input type="file" name="image"/>
</div>
</div>
<div>
<input type="submit" value="上傳"/>
</div>
</form>
它會將表單的數(shù)據(jù)處理為一條消息,以標(biāo)簽為單元,用分隔符分開。既可以上傳鍵值對,也可以上傳文件。當(dāng)上傳的字段是文件時,會有content-type來說明文件類型;content-disposition,用來說明字段的一些信息;由于有boundary隔離,所以multipart/form-data既可以上傳文件,也可以上傳鍵值對,它采用了鍵值對的方式,所以可以上傳多個文件。
2:x-www-form-urlencoded

image.png
就是application/x-www-from-urlencoded,會將表單內(nèi)的數(shù)據(jù)轉(zhuǎn)換為鍵值對,比如,name=Java&age = 23

image.png

image.png
3:raw
可以上傳任意格式的文本,可以上傳text、json、xml、html等

image.png
4:binary
相當(dāng)于Content-Type:application/octet-stream,從字面意思得知,只可以上傳二進(jìn)制數(shù)據(jù),通常用來上傳文件,由于沒有鍵值,所以,一次只能上傳一個文件。
multipart/form-data與x-www-form-urlencoded區(qū)別
multipart/form-data:既可以上傳文件等二進(jìn)制數(shù)據(jù),也可以上傳表單鍵值對,只是最后會轉(zhuǎn)化為一條信息;
x-www-form-urlencoded:只能上傳鍵值對,并且鍵值對都是間隔分開的。
參考[]