【问题标题】:Filename while downloading in Safari comes to be 'untitled'在 Safari 中下载时的文件名变为“无标题”
【发布时间】:2017-07-05 07:09:22
【问题描述】:

我已经实现了以下代码,它在 Safari 中下载文件,但文件名变成了“无标题”。在其他浏览器中效果很好。

var saveData = (function () {
var base64 = "data:application/msword;base64,iVBOR---<some data>---JoU8gAAAAASUVORK5CYII=";
                            var uri = encodeURI(base64);
                                var anchor = document.createElement('a');
                                document.body.appendChild(anchor);
                                anchor.href = uri;
                                anchor.download = "hello";


                    anchor.click();
                                        document.body.removeChild(anchor);
}());
    saveData();

这是测试 JSFiddle 的链接。 JSFiddle_here

【问题讨论】:

    标签: javascript angularjs file download safari


    【解决方案1】:

    anchor.download = "hello";

    确保您的 safari 版本为 10.1 或更高版本,因为仅 10.1 的 safari 支持下载属性,如 link 中所示

    编辑:

    您可以使用FileSaver.js,它支持大量浏览器。

    【讨论】:

    • 他说它可以工作,但只有文件名是“无标题”。我相信他知道 safari 中对“下载”属性的支持。
    • 是的,内容下载工作正常,但文件名是“未知”。我也使用过 FileSaver。我在 Safari 中表现不佳。
    • 我正在运行 safari 15.1,即使在设置下载后我仍然得到一个文件名“未知”。 FileSaver.js 也有同样的问题(唯一不同的是一个保存为 unkown.txt,一个保存为不带扩展名)
    猜你喜欢
    • 2015-11-15
    • 1970-01-01
    • 2023-04-09
    • 2019-11-26
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    相关资源
    最近更新 更多