首先,enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。他一共有三种类型。分别是:
- application/x-www-urlencoded(默认):数据被编码成"&"分隔的键-值对, 同时以"="分隔键和值. 非字母或数字的字符会被百分比编码
- multipart/form-data:不会对参数做编码,发送二进制数据
- text-plain:是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理。
multipart/form-data重要规范特征
- 必须post方式发送数据;
- Content-Type格式为multipart/form-data; boundary=${boundary}。满足条件的提交,浏览器会自动创建boundary。例如chrome和safari浏览器,自动创建的boundary格式像下面这个样子,其中boundary是长度为16的随机base64字符。
- 当HTML表单要发送文件的时候
- 一定要使用multipart/form-data