待解决:多个文件同时上传(既然能够接受多个input域的表单上传,必定能够上传FIle数组,但测试未成功,有待解决)
javascript
最近想作无刷新上传,网上搜索N久,找到一个方法,记录之。
html
ajaxfileupload.js 是一个jquery插件,可是调了两天都没成功。。继续网上寻找解决方法,看到一个使用java
XMLHttpRequest 和 FormData 对象实现的,原文连接:http://itindex.net/blog/2012/04/14/1334367483953.htmljquery
原文未使用jquery。。。下面是我稍做修改的代码,获取File对象仍是有些笨。。有更好的方法但愿您留个言哈。。ajax
废话很少说了。
数组
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script type="text/javascript" src="./js/jquery.js"></script> <script> function performAjaxSubmit() { var text = $("#filename").val(); //var file = document.getElementById("file1").files[0]; var file = $("#file1")[0].files[0]; var formdata = new FormData(); formdata.append("filename", text); formdata.append("file1", file); var xhr = new XMLHttpRequest(); xhr.open("POST", "/upload-mvc-txt.do", true); xhr.send(formdata); xhr.onload = function (e) { if (this.status == 200) { alert(this.responseText); } }; } </script> </head> <body> <img id="loading" src="./images/loading.gif" style="display:none;"/> <input id="file1" type="file" size="20" name="file1"/> <input id="filename" name="filename" type="text" /> <button class="button" id="buttonUpload" onclick="performAjaxSubmit()">上传</button> </body> </html>
能够修改input:file的样式,移步: http://my.oschina.net/cwzhang/blog/291398
mvc