【问题标题】:Safari 9 XMLHttpRequest Blob file downloadSafari 9 XMLHttpRequest Blob 文件下载
【发布时间】:2016-03-16 16:06:33
【问题描述】:

你好 JavaScript 大师,

我需要在 Safari 9+ 中使用 XMLHttpRequest(带有 responseType="blob")的文件下载功能。

目前我正在像这样使用FileSaver.js

var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onreadystatechange = function() {
  if (xhr.readyState == 4) {
    // using FileSaver.js to save blob  
    saveAs(xhr.response, filename);
    // notify download finished, resolve promise
    defer.resolve(true);
  }
};
xhr.send();

在所有主要浏览器中都可以正常工作,但在当前版本 (9.x) 的 Safari 中却不行。 我将收到“加载资源失败:帧加载中断”。通常下载是一个 zip 文件,但我也尝试设置“application/octet-stream”。

我有一个要求:我需要知道何时在客户端完成下载,因此无法选择使用 iframe(我猜)。

感谢任何提示如何使用 XHR(无 Flash)在 Safari 中下载文件。

谢谢, 克里斯

【问题讨论】:

    标签: javascript safari xmlhttprequest filereader


    【解决方案1】:

    简单的答案: 没有办法!

    另请参阅:https://forums.developer.apple.com/message/119222

    感谢 Safari ...我的新几乎 IE6

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-18
      • 2019-04-02
      • 1970-01-01
      • 2012-12-25
      • 2019-09-15
      • 1970-01-01
      • 2016-11-01
      • 2017-08-20
      相关资源
      最近更新 更多