js下载文件

1.<a>标签

  <a> 标签定义超链接,用于从一张页面链接到另一张页面。<a> 元素最重要的属性是 href 属性,它指示链接的目标。HTML5 提供了一些新属性,其中有一个download属性挺有意思的,有了这个属性我们就可以用<a>标签实现文件的下载了。

 <!-- href指示文件路径,download属性定义a标签下载功能,属性值可以更改文件名 -->
  <div>
    <a href="/static/tem.xlsx" download="自定义文件名">下载</a>
  </div>

  href指示文件路径,download属性定义a标签下载功能,属性值可以更改文件名;

  <a>标签下载扩展名.img, .pdf, .txt, .html等格式的文件也都是没有问题的;

  下载静态文件时,有时我们会遇到下载提示“找不到文件”的问题,所以这里href文件的路径尽量放在根目录下的static或者public文件夹下;

 2.window.location.href = "文件路径"

  与<a>标签不同的是,<a>点击后立即下载,window.location.href可以封装在方法中,在需要时下载

3.前面两种方法在下载图片一类文件时会出现预览,而不想预览直接下载的话可以采取如下方式

download() {
    var request = new XMLHttpRequest();
    request.responseType = "blob";
    let fileUrl = this.qr; // 文件路径
    request.open("GET", fileUrl);
    request.onload = function () {
        var url = window.URL.createObjectURL(this.response);
        var a = document.createElement("a");
        document.body.appendChild(a);
        a.href = url;
        a.download = "二维码";
        a.click();
    }
    request.send();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值