网站推广.NET

网站推广.NET

FormData对象上传文件

来源:互联网

formdata对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用xmlhttprequest发送这个"表单"。

Mozilla Developer 网站  使用FormData对象 有详尽的FormData对象使用说明。

但上传文件部分只有底层的XMLHttpRequest对象发送上传请求,那么怎么通过jQuery的Ajax上传呢?
本文将介绍通过jQuery使用FormData对象上传文件。

使用

javascript代码

$.ajax({    url: '/upload',    type: 'POST',    cache: false,    data: new FormData($('#uploadForm')[0]),    processData: false,    contentType: false}).done(function(res) {}).fail(function(res) {});

这里要注意几点:

  • processData设置为false。因为data值是FormData对象,不需要对数据做处理。

  • cache设置为false,上传文件不需要缓存。

  • contentType设置为false。因为是由

上传后,服务器端代码需要使用从查询参数名为file获取文件输入流对象,因为中声明的是name="file"。

如果不是用

formdata上传文件