使用JavaScript下载然后上传文件

时间:2014-04-07 21:06:29

标签: javascript jquery file upload download

现在首先,我正在创建一个UserScript,这意味着我不拥有下载文件的服务器或我上传文件的服务器。

所以我需要从服务器下载文件(需要是任何类型,而不仅仅是文本文件),然后以某种方式将该文件提交到另一个网站上的文件上传表单。那可能吗?起初我想知道我是否能够直接从一台服务器向另一台服务器提交文件,但我认为这不可能。

那么我有什么方法可以做到这一点?我也可以使用jQuery。

1 个答案:

答案 0 :(得分:2)

只要您不被XSS预防阻止,请使用XMLHttpRequest加载数据,然后将其发布到其他站点。

这是一个非常基本的功能示例:

var xhr = new XMLHttpRequest();
xhr.open("get", "http://www.example.com/file", true);
xhr.onload = function () {
  xhr.close();
  var xhr2 = new XMLHttpRequest();
  xhr2.open("post", "http://www.example2.com/form", true);
  xhr2.send(xhr.response);
}
xhr.send();

我建议你添加一些代码来捕捉错误

有关XMLHttpRequests的更多详细信息,可以在MDN here上找到该文档,并提供有关如何在MDN上使用它的说明here