Safari 9 XMLHttpRequest Blob文件下载

时间:2016-03-07 20:21:53

标签: javascript safari xmlhttprequest filereader

Hello JavaScript专家,

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

目前我正在使用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();




在所有主浏览器中都可以正常工作,但在Safari的当前版本(9.x)中没有。 我得到一个"无法加载资源:帧加载中断"。通常下载是一个zip文件,但我也尝试设置" application / octet-stream"。

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

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

谢谢, 克里斯

1 个答案:

答案 0 :(得分:1)

简单回答: 没有解决方案!

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

感谢Safari ...我的新近IE6