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"})

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

Logo

前往低代码交流专区

更多推荐