前端模拟postman功能sand and download

1.首先创建一个发送按钮

<el-button tabindex="" :disabled="hu" ref="hu" v-show="!hu" class="hu elButton additional default" @click="exportHandler">
        <i class=""></i>
        <span>二维码</span>
      </el-button>

2.创建一个点击事件,大部分代码可以复用 之后根据业务不同去修改

//二维码
      exportHandler(data){
        let self = this;
        let params = {
          id: data.id
        };
        //请求接口
        axios({
          method: get或者post,
          url:访问的接口,
          params: params,
          responseType: blob,//定义接口响应的格式,很重要
        }).then(response => {
          if (!response || !response.data) {
            self.$message({
              type: error,
              message: "导出失败!"
            });
            return;
          }

          let blob = new Blob([response.data]);//response.data为后端传的流文件
          let downloadFilename = "sasasa" + ".zip";//设置导出的文件名
          if (window.navigator && window.navigator.msSaveOrOpenBlob) {
            //兼容ie浏览器
            window.navigator.msSaveOrOpenBlob(blob, downloadFilename)
          }else {
            //谷歌,火狐等浏览器
            let url = window.URL.createObjectURL(blob);
            let downloadElement = document.createElement("a");
            downloadElement.style.display = "none";
            downloadElement.href = url;
            downloadElement.download = downloadFilename;
            document.body.appendChild(downloadElement);
            downloadElement.click();
            document.body.removeChild(downloadElement);
            window.URL.revokeObjectURL(url);
          }
          self.$message({type: "success", message: 导出成功!});

        }).catch(err => {
          self.$message({
            type: error,
            message: "导出失败!"
          });
        })
      },

3.一定要导入

import axios from axios;

以上为测试,可以根据业务的需求进行更改

经验分享 程序员 微信小程序 职场和发展