我一直在绞尽脑汁想弄清楚如何在 Internet Explorer 中从 Drive 下载文件。似乎跨域安全问题正在阻止这种情况。
使用 XMLHttpRequest 的简单“GET”在 Chrome 和 Firefox 中运行良好,因为它支持请求标头,允许浏览器请求 CORS 响应,如以下代码行所示:
var xhr = new XMLHttpRequest();
xhr.open('GET', file.downloadUrl);
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
xhr.onload = function() {
callback(xhr.responseText);
};
xhr.send();
据称出于安全原因,IE 不支持请求标头。由于无法在这个不幸流行的浏览器中下载内容,我完全陷入困境。
我的问题是——这些其他应用程序到底是如何处理这个问题的?他们是否使用某种服务器端代理,并通过自己的后端汇集所有驱动器请求?在这一点上,这似乎相当艰巨。或者,有什么方法可以在启动时访问驱动器文件,我不知道吗?
我已经看到一些解决方案需要两台服务器上的文件,据我所知,这不是一个选项。Google Drive 是否能够在没有请求标头的情况下使用 CORS 进行响应,或者是否有另一个我不知道的 API 支持来自 Drive 域内 iframe 的某种回调?
在这一点上,我几乎已经死在水中了。任何提示将非常感谢。很抱歉不得不提出与 MS 产品有关的任何问题。