表单和 FormData 对象
form 表单中的 method 和 enctype 属性
当 method="get" 时,enctype 属性无效,数据将以 URL 的查询字符串发出
当 method="post" 时,enctype 属性默认为 'application/ x-www-form-urlencoded',所有键值对会连接成一行,作为 HTTP 请求 的数据体发送到服务器
当 method="post",enctype = 'text/plain' 时,数据将以纯文本格式发送
当 method="post",enctype = 'multipart/form-data',数据将以混合的格式发送,这种格式也是文件上传的格式
文件上传
本质就是:通过文件输入框选择本地文件,提交表单的时候,浏览器就会把这个文件发送到服务器。 需要将表单 form 元素的 method 属性设为 POST,enctype 属性设为 multipart/form-data
例子(使用自定义脚本上传):
补充: 文件选择器<input type="file">
,出于安全考虑,浏览器不允许脚本自行设置这个控件的 value 属性,即文件必须是用 户手动选取的,不能是脚本指定的。一旦用户选好了文件,脚本就可以读取这个文件,返回一个 FileList 对象,每个成员都是一个 File 实例对象。File 实例对象是一个特殊的 Blob 实例,增加了name和lastModifiedDate属性。
Last updated
Was this helpful?