当前位置:   article > 正文

vue 前端根据 文件路径/图片路径 url 下载文件_vue通过url下载文件

vue通过url下载文件

1 -vue 前端根据 文件路径url 下载文件

downloadFile(row){
    var a = document.createElement('a') // 创建一个<a></a>标签
    a.href = row.fileUrl         //重点(如测试发现下载文件不存在/找不到,检查路径)
    a.download = row.fileName          // 设置下载文件文件名
    a.style.display = 'none'           // 隐藏a标签
    document.body.appendChild(a)       // 将a标签追加到文档对象中
    a.click()                          // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
    a.remove()
},
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2 -vue 前端根据 图片url 下载图片

downloadFile(row) {

    var image = new Image();

    // 解决跨域 Canvas 污染问题

    image.setAttribute("crossOrigin", "anonymous");

    image.onload = function() {
        var canvas = document.createElement("canvas");

        canvas.width = image.width;

        canvas.height = image.height;

        var context = canvas.getContext("2d");

        context.drawImage(image, 0, 0, image.width, image.height);

        var url = canvas.toDataURL("image/png"); //得到图片的base64编码数据

        var a = document.createElement("a"); // 生成一个a元素

        var event = new MouseEvent("click"); // 创建一个单击事件

        a.download = row.fileName || "photo"; // 设置图片名称

        a.href = url; // 将生成的URL设置为a.href属性

        a.dispatchEvent(event); // 触发a的单击事件

    }
    image.src = row.fileUrl;

},

或者
downloadImg(){
    var filename = this.fileName || '分享码';
    fetch(this.qrUrl).then(res => res.blob().then(blob => {
          var a = document.createElement('a');
          var url = window.URL.createObjectURL(blob);
          a.href = url;
          a.download = filename;
          a.click();
          window.URL.revokeObjectURL(url);
        }));

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/683421
推荐阅读
相关标签
  

闽ICP备14008679号