vue+elementui下载附件

elementui下载附件一般是在点击文件后发生的,应在el-upload组件的on-preview函数中实现
在这里插入图片描述
第一次使用FileSaver插件下载附件,一到上线就会报错
在这里插入图片描述找了百度也没有找出答案,就换种方法

this.$axios({

        url: file.url,//后端返回文件的路径

        type: "get",

        responseType: "blob"

      }).then(res => {

          if (!res) {

            this.$message.error("下载失败");
          } else {

            if (!!window.ActiveXObject || "ActiveXObject" in window) {

              var filename =file.name;//文件的名字

              var type = "text/plain; charset=UTF-8";

              var obj = res.data;

              var blob =

                typeof File === "function"

                  ? new File([obj], filename, { type: type })

                  : new Blob([obj], { type: type });

              if (typeof window.navigator.msSaveBlob !== "undefined") {

                window.navigator.msSaveBlob(blob, filename);

              } else {

                var URL = window.URL || window.webkitURL;

                var downloadUrl = URL.createObjectURL(blob);

                if (filename) {

                  var a = document.createElement("a");

                  if (typeof a.download === "undefined") {

                    window.location = downloadUrl;

                  } else {

                    a.href = downloadUrl;

                    a.download = filename;

                    document.body.appendChild(a);

                    a.click();

                  }

                } else {

                  window.location = downloadUrl;

                }

              }

            } else {

              let url = window.URL.createObjectURL(res.data);

              let link = document.createElement("a");

              link.style.display = "none";

              link.href = url;

              var filename = file.name;

              link.setAttribute("download", filename);

              document.body.appendChild(link);

              link.click();

            }

          }

        }).catch(error => {

          console.log(error);

        });

下面是之前的写法:

import FileSaver from‘file-saver’
FileSaver.saveAs(file.url, file.name,{type: "text/plain;charset=utf-8"})

总是报错,不知道哪里出现问题了。。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值