跨域文件上载

时间:2013-01-07 10:37:35

标签: javascript xmlhttprequest cross-domain jsonp

这是我的问题。我想在网站上将一些文件上传到我自己的文件中。所以我有一个众所周知的“同源政策”问题。 我的另一个问题是我不拥有文件上传者网站,只能将html和js添加到现有页面。所以我也没有替代代理。 所以我搜索了一些解决方案,发现XMLHTTPRequest可以实现。但我不知道如何。我也想知道JSONP是否可能是我的解决方案。 任何有关“最佳解决方案”的想法都将受到赞赏。

谢谢大家!

1 个答案:

答案 0 :(得分:2)

您可以拥有包含文件输入的表单,并将操作设置为第三方站点。

如果第三方网站实施CSRF保护,则会被阻止。

由于您已排除使用代理,因此无法确定表单提交的成功或失败。


  

可以使用XMLHTTPRequest

MDN有a guide to uploading files with XMLHttpRequest - 但要获得任何反馈,这将要求第三方网站允许您通过CORS访问。如果有CSRF保护,它将完全失败。


JSONP无济于事,因为:

  • 您只能用它发出GET请求
  • 第三方网站提供了一个JSONP端点供您访问