ie采用blob形式下载文件没有后缀?

发布于 2022-09-11 17:16:36 字数 599 浏览 21 评论 0

function getFileDownLoad(fileData,fileName){
    let blob = new Blob([fileData],{type:"application/pdf"});
    // for ie 10+
    if (window.navigator.msSaveBlob) {
        window.navigator.msSaveOrOpenBlob(blob,fileName);
        return;
    }
    //google
    let elink = document.createElement('a');
    elink.href = URL.createObjectURL(blob);
    elink.download = fileName;
    document.body.appendChild(elink);
    elink.click()
    URL.revokeObjectURL(elink.href);
    document.body.removeChild(elink);   
}

项目需要兼容ie,下载文件采用blob的形式兼容;文件可以下载但是ie没有文件后缀名,是我的写法有问题吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

好久不见√ 2022-09-18 17:16:37

自己解决了,fileName+'.pdf' 拼起来能解决需求; 有没有别的解决方法呢? 还是ie就是这样的??

薄荷梦 2022-09-18 17:16:37

fileName 直接从回调头里获取不就行了...
let fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文