我正在尝试模拟文件上传到接受“正常”文件上传http请求的网络服务器,但iso使用典型的输入type = file表单元素获取文件数据我希望POST的内容来自之前的http GET的结果
我认为我使用类似
之类的东西完成了GET部分function load_binary_resource(url) {
var req = new XMLHttpRequest();
req.open('GET', url, false);
req.overrideMimeType('text/plain; charset=x-user-defined');
req.send(null);
if (req.status != 200) {
return '';
}
return req.responseText;
}
现在问我是如何发布这个,以便接受更典型的文件上传HTTP请求的服务器代码可以保持不变。
我一直在尝试使用jQuery表单插件,但我似乎无法将二进制内容POST到服务器
所有的帮助当然热烈欢迎!
由于
彼得
答案 0 :(得分:0)
如果我理解你,除非我弄错了,你还不能使用XMLHttpRequest本地上传浏览器的文件。我相信,现在可以使用Firefox。
我在研究同样的事情时发现这些有用:
https://developer.mozilla.org/en/XMLHttpRequest https://developer.mozilla.org/en/using_files_from_web_applications https://developer.mozilla.org/en/DOM/File.getAsBinary
我已经看到了针对非gecko浏览器的sendAsBinary的一些变通方法,但我确信其他人在这方面知道的更多。我放弃了与我的目标浏览器包括IE相似的东西。我最终使用了Uploadify,当纯javascript方法不可用时,它会自动切换到Flash或其他方法。
希望有所帮助(或者甚至远远接近你所要求的)