使用ajax上传文件
问题描述:
在此打上路障。使用ajax上传文件
是我到目前为止有:
<input id="newFile" type="file"/>
<span style="background-color:orange;" onClick="newImage()">HEYTRY</span>
这显然不是很远。
我正在寻找一个基本的方式来加载这个图像到一个变量,将变量转换为可通过URL(ajax)通过的东西,然后通过php完成我的目标,一旦它可以从url中提取位。
并不像我预料的那么容易。
任何帮助将是伟大的。
谢谢
答
这不适用于每个浏览器,但这是通过AJAX执行多个文件上传的好方法:
function upload_files(entityKey, files, url, progress_callback) {
var xhr = new XMLHttpRequest(), formData = new FormData();
xhr.upload['onprogress'] = progress_callback;
formData.append('entityKey', entityKey);
$.each(files, function(i, file) { formData.append('file[]', file);});
xhr.open("post", url, true);
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.send(formData);
}
entityKey是服务器上参数的示例。 “文件”参数来自文件类型输入表单元素的“文件”属性(作为支持多个数组的数组)。 'progress_callback'参数是一个函数,它接受一个具有(至少)'loaded'和'total'字段(单位是字节)的对象。它不关心服务器响应。
答
我使用这个插件上传文件。
u可以使用这个插件的方法来传递您的$ _FILES数据,并在以后使用PHP代码:
$('.yourFormUpload').ajaxSubmit(options);
的选项变量u可以看到它的文档
谢谢,但我真的想编码,并了解发生了什么 – 2010-12-17 03:32:46
@jason为什么要重新发明*? – 2010-12-17 03:56:29