multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
来源:互联网 发布:访客网络需要开启吗 编辑:程序博客网 时间:2024/05/21 17:12
情景再现:
上传文件到.net(wcf)后台时,总是上传不成功,后台要求Content-Type是application/octet-stream,我使用multipart/form-data方式,content-type是multipart/form-data,后来查了查这是两种不同的内容类型,在http的请求体中,数据组织方式不一样,所以,后台接收失败。
multipart/form-data:
1、既可以提交普通键值对,也可以提交(多个)文件键值对。
2、HTTP规范中的Content-Type不包含此类型,只能用在POST提交方式下,属于http客户端(浏览器、java httpclient)的扩展
3、通常在浏览器表单中,或者http客户端(java httpclient)中使用。
页面中,form的enctype是multipart/form-data,提交时,content-type也是multipart/form-data。
multipart/form-data格式,
POST http://www.xx.com/myproject/service1Host: 192.168.0.201:8694Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gWCache-Control: no-cachePostman-Token: c3d85a6c-9849-7e3e-5c89-5b994b335b1d----WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; name="name1"value1----WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; name="name2"value2----WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; name="file1"; filename="94b5b232gw1ewlx3p595wg20ak0574qq.gif"Content-Type: image/gif----WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; name="file2"; filename="1443175219259.jpg"Content-Type: image/jpeg----WebKitFormBoundary7MA4YWxkTrZu0gW
application/octet-stream
1、只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组)
2、属于HTTP规范中Content-Type的一种
3、很少使用
application/x-www-form-urlencoded
1、不属于http content-type规范,通常用于浏览器表单提交,数据组织格式:name1=value1&name2=value2,post时会放入http body,get时,显示在在地址栏。
2、所有键与值,都会被urlencoded,请查看urlencoder
数据组织格式
POST http://www.xx.com/myproject/service HTTP/1.1Host: 192.168.0.201:8694Content-Type: application/jsonCache-Control: no-cachePostman-Token: f5f6240c-08d3-8695-9473-607038f71eaaname11=file1&name2=value2
参考:
HTTP Content-type对照表
- multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
- multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
- application/x-www-form-urlencoded、multipart/from-data的区别?
- application/x-www-form-urlencoded 与multipart/form-data
- application/x-www-form-urlencoded与multipart/form-data
- multipart/form-data和application/x-www-form-urlencoded的区别
- multipart/form-data和application/x-www-form-urlencoded的区别
- multipart/form-data和application/x-www-form-urlencoded的区别
- multipart/form-data和application/x-www-form-urlencoded的区别
- multipart/form-data和application/x-www-form-urlencoded的区别
- multipart/form-data和application/x-www-form-urlencoded的区别
- application/x-www-form-urlencoded和multipart/form-data的区别
- http content_type multipart/form-data 和 application/x-www-form-urlencoded的区别
- multipart/form-data和application/x-www-form-urlencoded的区别
- multipart/form-data和application/x-www-form-urlencoded的区别
- 浅析application/x-www-form-urlencoded和multipart/form-data的区别
- multipart/form-data和application/x-www-form-urlencoded的区别
- application/x-www-form-urlencoded multipart/form-data text/plain
- vim配置
- Linux下无效唤醒的应用
- SSD6 Exercise1 深入分析
- iOS 画板的简单实现
- 一些关于git的基本使用方法
- multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
- 【HNOI2014】【BZOJ3573】米特运输
- 2015年MyEclipse使用教程最强盘点
- Mapper XML 文件
- c语言入门
- java 实现反转链表
- 次小生成树模版(MST)
- hdoj3975Easy Fruit Ninja
- linux:/etc/sysctl.conf 内核配置参数分析