基于先前检索的“二进制”数据来发布多部分数据

时间:2011-05-27 15:06:54

标签: javascript jquery html

我正在尝试模拟文件上传到接受“正常”文件上传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到服务器

所有的帮助当然热烈欢迎!

由于

彼得

1 个答案:

答案 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或其他方法。

希望有所帮助(或者甚至远远接近你所要求的)