vue文件上传下载

下载文件流

        let headers = res.data.headers;
        let blob = new Blob([res.data.body], {
          type: ["content-type"],
        });
        let link = document.createElement("a");
        link.href = window.URL.createObjectURL(blob);
        const fileName = headers["Content-Disposition"][0];
        let title;
        title = fileName.includes("filename=")
          ? fileName.split("=")[1]
          : "下载的文件";
        link.download = title;
        link.click();

在这里插入图片描述

上传文件(header中携带token),还有一种是流的形式,下次更新

  • :header:header可以携带token
  • :data="{flag:'ywj'}"可以携带参数
<el-upload :headers="headers" class="upload-demo contentUpLoad" ref="upload" :action="GLOBAL+'/file/fileUpload'" 
            :before-upload="beforeAvatarUpload" :show-file-list="false" :limit="110" :on-success="handleSuccess" :data="{flag:'ywj'}" 
            :auto-upload="true" accept="file" multiple>
              <i class="el-icon-circle-plus-outline plusIcon"></i>
            </el-upload>
    beforeAvatarUpload(file) {
      const isLt2M = file.size / 1024 / 1024 < 200;
      if (!isLt2M) {
        this.$message.error("上传文件大小不能超过 200MB!");
      }
      return isLt2M;
    },
    handleSuccess(response, file, fileList) {
      if (response.code == 0) {
        this.$message({
          type: "success",
          message: "上传成功!",
        });
        this.getList(1);
      } else {
        this.$message.error(response.msg);
      }
    },

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值