对application/x-www-form-urlencoded、multipart/form-data和text/plain的认识
来源:互联网 发布:itunes怎么安装软件 编辑:程序博客网 时间:2024/05/22 00:05
上传文件的表单中<form>要加属性enctype="multipart/form-data",很多人只是死记硬背知道上传表单要这么写,知其然而不知其所以然。那到底为什么要添加这个属性呢?它是什么意思呢?它又有什么其他可选值呢?其实form表单在你不写enctype属性时,也默认为其添加了enctype属性值,默认值是enctype="application/x-www-form-urlencoded".这个属性用于设置表单的MIME编码,共有三个值可选:
1、application/x-www-form-urlencoded(默认值):大家可能在Ajax里见过这个:xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");这两个要做的是同一件事情,就是设置表单传输的编码。在AJAX里不写有可能会报错,但是在HTML的form表单里是可以不写enctype="application/x-www-form-urlencoded"的,因为默认HTML表单就是这种传输编码类型。
2、multipart/form-data:用来指定传输数据的特殊类型的,主要就是我们上传的非文本的内容,比如图片或者mp3等等。"multipart/form-data"是上传二进制数据;form里面的input的值以二进制的方式传过去,所以request.getParameter( );就得不到值了。想要获取值需要这么做:
SmartUpload smartUpload = new SmartUpload();//新建一个SmartUpload对象
smartUpload.getRequest().getParameterValues();//取数组值
smartUpload.getRequest().getParameter( );//取单个参数单个值
1、application/x-www-form-urlencoded(默认值):大家可能在Ajax里见过这个:xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");这两个要做的是同一件事情,就是设置表单传输的编码。在AJAX里不写有可能会报错,但是在HTML的form表单里是可以不写enctype="application/x-www-form-urlencoded"的,因为默认HTML表单就是这种传输编码类型。
2、multipart/form-data:用来指定传输数据的特殊类型的,主要就是我们上传的非文本的内容,比如图片或者mp3等等。"multipart/form-data"是上传二进制数据;form里面的input的值以二进制的方式传过去,所以request.getParameter( );就得不到值了。想要获取值需要这么做:
SmartUpload smartUpload = new SmartUpload();//新建一个SmartUpload对象
smartUpload.getRequest().getParameterValues();//取数组值
smartUpload.getRequest().getParameter( );//取单个参数单个值
3、text/plain:text/plain是纯文本传输的意思,在发送邮件时要设置这种编码类型,否则会出现接收时编码混乱的问题,网络上经常拿text/plain和 text/html做比较,其实这两个很好区分,前者用来传输纯文本文件,后者则是传递html代码的编码类型,在发送头文件时才用得上。
application/x-www-form-urlencoded和text/plain都不能用于上传文件,只有multipart/form-data才能完整的传递文件数据。
0 0
- 对application/x-www-form-urlencoded、multipart/form-data和text/plain的认识
- application/x-www-form-urlencoded multipart/form-data text/plain
- application/x-www-form-urlencoded、multipart/form-data、text/plain
- application/x-www-form-urlencoded、multipart/form-data、text/plain
- application/x-www-form-urlencoded、multipart/form-data、text/plain
- application/x-www-form-urlencoded、multipart/form-data、text/plain
- application/x-www-form-urlencoded、multipart/form-data、text/plain
- application/x-www-form-urlencoded、multipart/form-data、text/plain
- application/x-www-form-urlencoded、multipart/form-data、text/plain
- 设置form表单传输的编码格式 application/x-www-form-urlencoded、multipart/form-data、text/plain
- 设置form表单传输的编码格式 application/x-www-form-urlencoded、multipart/form-data、text/plain
- multipart/form-data;application/x-www-form-urlencoded;text/plain;怎么接收
- application/x-www-form-urlencoded & multipart/form-data & text/plain
- multipart/form-data和application/x-www-form-urlencoded
- application/x-www-form-urlencoded和multipart/form-data
- form的enctype属性常用有两种:application/x-www-form-urlencoded和multipart/form-data,
- application/x-www-form-urlencoded、multipart/from-data的区别?
- Ajax的text/plain、application/x-www-form-urlencoded和application/json
- Android版本升级同时Sqlite数据库的升级及之前数据的保留
- 解密回声消除技术之二
- Memory management in C programs( C内存管理 )
- Bomb
- 男友吃下一百片安定 女孩打来报警电话
- 对application/x-www-form-urlencoded、multipart/form-data和text/plain的认识
- 第三方士大夫
- Kafka命令行常用命令说明
- Windows下一个并发阻塞队列(BlockingQueue)
- 用shell脚本为ubuntu自动添加用户,并限定通过ssh连接该用户只能执行特定某个(或某几个)程序
- shape、selector的使用
- maven - package a jar with main class
- 使用UINavigationController后导致UIScollView尺寸变化(转)
- HDU 1159 Common Subsequence(LCS)