使用ajax上传文件

时间:2010-12-17 03:14:02

标签: php javascript ajax image

在此遇到障碍。

到目前为止:

  <input id="newFile" type="file"/>
  <span style="background-color:orange;" onClick="newImage()">HEYTRY</span>

这显然不是很远。

我正在寻找一种将此图像加载到变量中的基本方法,将变量转换为可通过URL(ajax)传递的东西,然后一旦它可以从URL中提取位,就通过php完成我的目标。

不像我预期的那么容易。

任何帮助都会很棒。

谢谢

3 个答案:

答案 0 :(得分:3)

我使用此插件上传文件。 http://www.uploadify.com/

这有帮助吗?

答案 1 :(得分:1)

这对每个浏览器都不起作用,但这是通过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是服务器上参数的示例。 'files'参数来自文件类型输入表单元素的'files'属性(作为支持多个的数组)。 'progress_callback'参数是一个函数,它接受一个具有(至少)'loaded'和'total'字段的对象(unit是字节)。它不关心服务器响应。

答案 2 :(得分:0)

我使用此插件上传文件。

FORM PLUGIN

您可以使用此插件方法传递$ _FILES数据并稍后使用您的PHP代码:

$('.yourFormUpload').ajaxSubmit(options);
选项变量的

你可以阅读它的文档