Hello JavaScripters,

我正在尝试在Safari中下载类型为xlsx(excel)的blob文件 . 我这样做了:

obReader = new FileReader();
obReader.onload = function(e) {
    obdata = btoa(obReader.result);
    obDatauri = 'data:' + isbContentType + ';base64,' + obdata;
    window.location = obDatauri; 
};
obReader.readAsBinaryString(iobBLOB);

上面的代码下载pdf和txt文件但是当我用来下载excel文件时它不起作用 .

var iobBLOB有blob,isbContentType有Content-Type,我用过这个:

  • application / vnd.ms-excel

  • application / force-download

  • application / vnd.openxmlformats-officedocument.spreadsheetml.sheet

和_1134662中看到的其他人


Blob文件具有以下类型:

应用/ vnd.openxmlformats-officedocument.spreadsheetml.sheet

Tested on a Macbook pro, Safari 9.03


注意:此代码适用于ChromeiOS和Safari(iPhone)

感谢您的帮助!