multipartform-data
Part multipart/form-data 由许多块part组成,每一块之间由boundary分隔开 每一块都有自己的header Content-Disposition: form-data; name="user" //or Content-Disposition: form-data; name="user"; filenmae="image.png" 每一块都可以有一个可选的Content-Type字段,默认为text/plain,如果是文件类型,而且不知道其MIME,那么应该设置为application/octet-stream Content-Type: image/png 每一块的header和body之间都会有一个空行 每一行的结尾都应该用CRLF(\r\n) Tips 前端发来的filename不应该信任 name应该独一无二 name和filename都需要Percent-Encoding,应该避免Non-ASCII boundary boundary 应该放在Content-Type 中 Content-Type: multipart/form-data; boundary=abcedfghijk 每个part之间的分隔线由--,boundary,CRLF组成,每个part之前都需要放置一个。最后一个分割线需要加上--后缀。比如 --abced Content-Disposition: form-data; name="user" uservalue --abced Content-Disposition: form-data; name="file"; filenmae="image.png" Content-Type: image/png �PNG ffffff --abced-- 背景知识 Percent-Encoding,也叫做URL Encoding。https://en.wikipedia.org/wiki/Percent-encoding