0

我已经被这个问题困扰了一段时间。

我需要实现一个简单的 ajax 文件上传到服务器,而不向用户显示文件形式和上传图片的即时呈现我一直在尝试使用这个插件:http: //valums.com/ajax-upload/,但是它不起作用。请求成功到达服务器(然后返回客户端),但是当我尝试访问 $_FILES 数组(是的,它是 PHP)时,它是空的!

管理发送的代码是这样的:

    xhr.open("POST", queryString, true);
    xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
    xhr.setRequestHeader("X-File-Name", encodeURIComponent(name));
    xhr.setRequestHeader("Content-Type", "application/octet-stream");
    xhr.send(file);

我一直在尝试用谷歌搜索这个问题,但所有链接都一致表示,您无法使用 XHR 上传文件。但是这个插件似乎很受欢迎并且合法 - 那么,我做错了什么?谢谢!

4

1 回答 1

1

使用新的 HTML5 filereader API 读取文件并使用 XHR 发送,我认为这与使用 $_FILES 的 HTTP 文件上传不同。数据经过 base64 编码并使用 POST 方法发送。

于 2011-12-07T06:57:58.170 回答