技术分享 Technology to share

form 表单的 enctype属性

定义和用法


enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。

默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。


语法


<form enctype="value">


一共有三种形式


  • application/x-www-form-urlencoded:默认编码方式
  • multipart/form-data:指定传输数据为二进制数据,例如图片、mp3、文件
  • text/plain:纯文本的传输。空格转换为“+”,但不支持特殊字符编码。


  1. application/x-www-from-urlencoded
  2. 会将表单内的数据转换为键值对。
  3. form-data
  4. http请求中的multipart/form-data,会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。
  5. 既可以上传键值对,也可以上传文件
  6. 当上传的字段是文件,会使用content-type表明文件类型;content-disposition说明字段的一些信息。
  7. 由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对。
  8. binary/application/octet-stream
  9. 只可以上传二进制数据,通常用来上传文件,一次只能上传一个文件。
  10. text/plain
  11. 空格转换为 "+" 加号,但不对特殊字符编码。


multipart/form-data与application/x-www-from-urlencoded区别
multipart/form-data:既可以上传二进制数据,也可以上传表单键值对,只是最后会转化为一条信息
x-www-from-urlencoded:只能上传键值对,并且键值对都是间隔分开的。



上一篇: cordova 打包签名流程

下一篇: 前端图片加载方式