multipart/form-data请求与文件上传的细节
2017-09-14 21:45
549 查看
要上传文件,需要用post方法,并且设置enctype为multipart/form-data。
multipart/form-data与post方法结合,用了multipart/form-data的post请求与普通的post请求的请求头和请求体都有不同。
普通post请求头中Content-Type字段值为:
multipart/form-data请求头中Content-Type字段值为multipart/form-data; boundary=xxxxxxx, (xxxxxx规定了请求体中的内容分隔符)。
普通post请求的请求体格式为(不会上传文件内容):
而multipart/form-data请求体格式为(包含文件内容):
<form action="/upload" method="post" enctype="multipart/form-data"> <input type="text" name="param1"> <input type="text" name="param2"> <input type="file" name="fileparam"> <button type="submit">上传</button> </form>
关于multipart/form-data
multipart/form-data与post方法结合,用了multipart/form-data的post请求与普通的post请求的请求头和请求体都有不同。普通post请求头中Content-Type字段值为:
Content-Type: application/x-www-form-urlencoded
multipart/form-data请求头中Content-Type字段值为multipart/form-data; boundary=xxxxxxx, (xxxxxx规定了请求体中的内容分隔符)。
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryZpsWTsOiRHI0TBW7
普通post请求的请求体格式为(不会上传文件内容):
param1=AAAA¶m2=123456&fileparam=test.txt
而multipart/form-data请求体格式为(包含文件内容):
------WebKitFormBoundaryjUVXJ3PslTEBh9as Content-Disposition: form-data; name="param1" AAAA ------WebKitFormBoundaryjUVXJ3PslTEBh9as Content-Disposition: form-data; name="param2" 123456 ------WebKitFormBoundaryjUVXJ3PslTEBh9as Content-Disposition: form-data; name="fileparam"; filename="test.txt" Content-Type: text/plain contents of file ------WebKitFormBoundaryjUVXJ3PslTEBh9as
相关文章推荐
- http以post方式上传一个文件,构造其请求头和消息报文 application/x-www-form-urlencoded multipart/form-data
- multipart/form-data请求与文件上传
- Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form me
- WebAPI通过multipart/form-data方式同时上传文件以及数据(含HttpClient上传Demo)
- Android模拟 HTTP multipart/form-data 请求协议信息实现图片上传
- 表单同时有中文字段和文件上传,加上enctype="multipart/form-data"后导致的中文乱码问题
- java接收IOS上传的图片文件multipart/form-data类型
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- struts中post方式上传文件,enctype="multipart/form-data",request.getParameter("file") 是null的问题分析
- vue-resource上传文件(POST multipart/form-data到koa-multer)
- post Upload上传文件中multipart/form-data 做的那些事
- 上传文件form表单enctype="multipart/form-data"传值解决办法(代原代码)
- iOS里实现multipart/form-data格式上传文件
- [置顶] Python模拟浏览器上传文件脚本(Multipart/form-data格式)
- httpClient 使用multipart/form-data 类型上传文件及表单
- Multipart/form-data POST文件上传详解
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- WebAPI通过multipart/form-data方式同时上传文件以及数据(含HttpClient上传Demo)
- Multipart/form-data POST文件上传详解
- enctype="multipart/form-data" 文件上传