ajax文件上传

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax文件上传相关的知识,希望对你有一定的参考价值。

表单提交,文件上传是一个常用又十分麻烦的功能,以前要上传文件通常都是借助插件或者flash来实现,噼里啪啦的加载一大堆东西。自从有了html5的FormData后。

FormData可以把它理解成一个虚拟的表单对象,它只有一个方法append,这个可以在浏览器console一下就知道了。我们可以通过append向FormData里面添加各种需要提交的数据。

你可以先创建一个空的 FormData 对象,然后使用 append() 方法向该对象里添加字段,如下:

var oMyForm = new FormData();

oMyForm.append("username", "Groucho");
oMyForm.append("accountnum", 123456); // 数字123456被立即转换成字符串"123456"
 
// fileInputElement中已经包含了用户所选择的文件
oMyForm.append("userfile", fileInputElement.files[0]);
var oReq = new XMLHttpRequest(); oReq.open("POST", "http://foo.com/submitform.php");
// xhr.withCredentials = true; //如果需要Cookie等跨域用
oReq.send(oMyForm);
php方面:
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true(可选)
 



以上是关于ajax文件上传的主要内容,如果未能解决你的问题,请参考以下文章

jquery ajax实现上传文件代码,带进度条

无法使用 $ajax() 在 PHP 中上传文件

AJAX上传文件和文本不起作用

jQuery / ajax 上传图片并保存到文件夹

ajax上传文件后,后台java如何接收(求后台接收的完整代码)

文件未在 cakephp 中使用 Ajax 上传