formData 实现文件上传或导入

html部分: 结合input标签

<div class="panel-btn btn-box">
	<el-button
	    class="audit-btn"
        size="mini"
        :loading="importLoading">导 入
    </el-button>
    <input
        class="import-input-file"
        :disabled="!manipulationFrom.zoneType"
        @change="e => {importData(e)}"
        accept="*.zip"
        type="file"
        name="file"></input>
    </div>

css部分: 隐藏input标签,自定义按钮样式

	.btn-box {
          position: relative;

          .import-input-file {
            opacity: 0;
            position: absolute;
            top: -1px;
            left: -1px;
            width: 70px;
            height: 33px;
            font-size:0;
            cursor: pointer;
          }
        }

js部分

//导入数据
    importData(e){
      const files = Array.from(e.target.files)
      if (files && files.length) {
        files.forEach(file => {
          const testmsg = /^.+(\.zip)$/.test(file.name);
          if (!testmsg) {
            this.$message.warning("只能上传zip文件!");
            return false;
          }
          this.importLoading = true
          let formData = new FormData();
          formData.append('file', file);
          formData.append('forestBaseId', this.curBase.id);
          formData.append('zoneType', this.manipulationFrom.zoneType);
          //调用导入接口
          importSideFile(formData).then(res => {
              if(res && res.status === 200){
                this.$message.success('导入成功')
              }
              this.importLoading = false
            })
        });
      }
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值