• a标签设置下载设置文件名

    2022-08-26 7506阅读 0评论

    设置 a 标签的 download属性,可以重置 文件名。如下代码,文件名重置为 file.xlsx。

    <a href='http://192.168.1.1/abcd.xlsx' download='file.xlsx'>下载</a>

    封装一个download方法

    const downlad = (url: any, fileName: any) => {
    const newUrl = url
    const link = document.createElement('a')
    link.href = newUrl
    link.download = fileName
    link.target = '_blank'
    link.style.display = 'none'
    document.body.append(link)
    link.click()
    }

     

    这种写法有个前提:href 的下载地址 和 当前网站地址 必须是 同源的,否则download不生效。 

    如果不同源,还有一种方法,代码如下:

    // 封装一个download方法

    const downlad = (urls: any, fileName: any) => {
    const x = new window.XMLHttpRequest();
    x.open('GET', urls, true);
    x.responseType = 'blob';
    x.onload = () => {
    const url = window.URL.createObjectURL(x.response);
    const a = document.createElement('a');
    a.href = url;
    a.target = '_blank'
    a.download = fileName;
    a.style.display = 'none'
    document.body.append(a)
    a.click();
    };
    x.send();
    }

     

    来源:https://blog.csdn.net/sinat_36728518/article/details/123525637

    posted @   webnote  阅读(7506)  评论(0编辑  收藏  举报
    我要评论

    相关博文:
    阅读排行:
    · 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
    · 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
    · 【自荐】一款简洁、开源的在线白板工具 Drawnix
    · 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
    · Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
    点击右上角即可分享
    微信分享提示