Vue

Vue<简单的文件下载方法>

2019-12-05  本文已影响0人  誰在花里胡哨

此篇文章是本人在项目中所用到过的 文件下载 方法,有适合此种方法的可以直接使用

代码如下:
 //立即下载
    downloadNow() {
      let _this = this;
     //请求参数
      let params = {};
     //请求路径
      this.$axios.post("xxxxxxxx", params, { responseType: "blob" })
        .then(res => {
          console.log(res);
          let content = res.data;
          let blob = new Blob([content]);
          let fileName = "文件名.pdf";
          if ("download" in document.createElement("a")) {
            // 非IE下载
            let elink = document.createElement("a");
            elink.download = fileName;
            elink.style.display = "none";
            elink.href = URL.createObjectURL(blob);
            document.body.appendChild(elink);
            elink.click();
            URL.revokeObjectURL(elink.href); // 释放URL 对象
            document.body.removeChild(elink);
          } else {
            // IE10+下载
            navigator.msSaveBlob(blob, fileName);
          }
          this.$message.success("生成文件成功");
        })
        .catch(err => {
          console.log(err);
          this.$message.error("服务器出现问题,请稍后再试");
        });
    }
上一篇下一篇

猜你喜欢

热点阅读