varfd=newFormData(document.getElementById("fileinfo"));fd.append("CustomField","This is some extra data");$.ajax({url:"stash.php",type:"POST",data:fd,processData:false,// 告诉jQuery不要去处理发送的数据contentType:false// 告诉jQuery不要去设置Content-Type请求头});
12345678910111213141516171819
首先,创建一个XMLHttpRequest2的实例:varxhr=newXMLHttpRequest();添加file控件,这里我们使用multiple属性来支持多文件的选择。<inputid="filename"type="file"multiple="multiple"/>获取并保存选择的多个文件。varfiles=document.getElementById('filename').files;接下来,要介绍的是另一个html5推出的新对象:FormData。FormData对象是用户的表单数据的集合,它以键值对的形式存储了表单数据,其值能够包括数字、字符串以及文件。我们通过这个对象,来向服务器提交我们的文件数据。varformData=newFormData();formData.append('filename',files[index]);// index 为第 n 个文件的索引xhr.open('post',url);// url 为提交的后台地址xhr.send(formData);这样就完成了一次文件的上传,多个文件我们遍历多个文件重复这个步骤即可。