formdata
formdata是xmlhttprequest level 2 新增的一个接口。
使用formdata可以实现各种文件上传。
使用
// 创建formdata的实例
var formdata = new formdata();
// 用append()为实例添加键和值
formdata.append(键名, 键值);
注意
使用jq的$.ajax()方法来进行文件上传时,需要设置contenttype和processdata两个参数。
参数
类型
说明
contenttype
string
当发送信息至服务器时,内容编码类型默认为“application/x-www-form-urlencoded”。
该默认值适合大多数应用场合。
processdata
boolean
默认为true。
默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型“application/x-www-form-urlencoded”。
如果要发送dom树信息或者其他不希望转换的信息,请设置为false。
从上面两个参数的说明可以看出,ajax发送数据的时候内容编码类型是“application/x-www-form-urlencoded”,
而我们上传的文件可能是其他类型,所以上传的时候不设置内容类型,故 contenttype: false,
不对数据做处理,故 processdata: false 。
实例
jq实现前端文件上传上传
$('