在客户端保存生成的文件 - Ipad + Safari未知文件名

时间:2017-10-30 19:12:29

标签: ios ipad download safari

我在Ipad + Safari中保存excel文件时遇到问题。请注意,我唯一的问题是使用Ipad / Iphone IOS + Safari。
图书馆我用来实现'另存为'功能是FileSaver.js,但确实有bug for Safari

到目前为止我尝试过的解决方案:

  • 使用HTML5下载属性,但IOS Safari不支持下载attr



var blob = new Blob([jx_s2ab(wbout)], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'});
var a = window.document.createElement("a"); 
a.href = window.URL.createObjectURL(blob);
a.download = "textexcel.xlsx"; 
a.target = "_blank"
document.body.appendChild(a);
a.click();  
document.body.removeChild(a);




  • 文件阅读器API



var blob = new Blob([jx_s2ab(wbout)], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'});
var reader = new FileReader();
     reader.onload = function(e){
        window.location.href = reader.result;
                
     }
     reader.readAsDataURL(blob);




在上述所有解决方案中,目前为止最好的解决方案是:File Reader API。它实际上正在工作,我能够使用正确的数据打开文件。但唯一的问题是文件名,没有在新标签页中打开的选项。在Ipad + Safari中,文件名显示为' unknown.xlsx',这不是一个良好的用户体验。

如果有任何修复可用于文件名问题或任何其他库可用,请分享。

0 个答案:

没有答案