这是我的问题。我想将网站中的一些文件上传到我自己的网站。所以我遇到了众所周知的“同源策略”问题。 我的另一个问题是我不拥有文件上传网站,只能将 html 和 js 添加到现有页面。所以我也没有代理替代方案。 所以我搜索了一些解决方案,发现使用 XMLHTTPRequest 是可能的。但我不知道怎么做。我也想知道 JSONP 是否是我的解决方案。 任何有关“最佳解决方案”的想法将不胜感激。
谢谢大家!
最佳答案
您可以拥有一个包含文件输入的表单,并将操作设置为第三方站点。
如果第三方站点实现 CSRF 保护,则会被阻止。
由于您已排除使用代理,因此您无法确定表单提交的成功或失败。
it's possible with XMLHTTPRequest
MDN有a guide to uploading files with XMLHttpRequest — 但要获得任何反馈,这需要第三方网站允许您通过 CORS 进行访问。如果有CSRF保护的话就彻底失败了。
JSONP 不会有帮助,因为:
- 您只能使用它发出 GET 请求
- 第三方网站很多提供 JSONP 端点供您访问
关于javascript - 跨域文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194171/