【问题标题】:gdrive javascript sdk download urlgdrive javascript sdk 下载地址
【发布时间】:2013-11-06 13:12:10
【问题描述】:

我正在使用 gDrive SDK for javascript 中的这段代码 sn-p 来下载文件:

function downloadFile(file, callback) {
  if (file.downloadUrl) {
    var accessToken = gapi.auth.getToken().access_token;
    var xhr = new XMLHttpRequest();
    xhr.open('GET', file.downloadUrl);
    xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
    xhr.onload = function() {
      callback(xhr.responseText);
    };
    xhr.onerror = function() {
      callback(null);
    };
    xhr.send();
  } else {
    callback(null);
  }
}

ajax 请求完成后如何提示浏览器打开下载窗口。如何制作回调函数以打开本地保存文件的对话框?

【问题讨论】:

    标签: javascript download google-drive-api


    【解决方案1】:

    很遗憾,您的方法行不通。

    由于标准浏览器安全限制,您无法从 Javascript 保存文件。[1]

    您需要做的是在新窗口中使用 downloadUrl 或为 iframe 使用 src 以使浏览器下载文件,并提示用户保存它。您需要添加

    &access_token=ya29.YOURACCESSTOKENHERE

    到 URL 以避免 401 错误。

    注意事项 1. 是的,我知道 HTML5 开始支持通过 Javascript 进行有限的文件系统访问,但是 (1) 它没有被广泛使用,(2) 对文件的保存位置有限制,并且 (3) 不是OP 要求。

    【讨论】:

      猜你喜欢
      • 2016-12-22
      • 2021-12-19
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多