ElementUi上传图片/文件

该段代码是一个Vue.js组件,用于实现风险管理方案的文件上传功能。它限制了可上传文件的类型,如.TXT,.WORD,.PDF等,并使用http-request自定义上传逻辑。当上传成功时,文件信息会被添加到fileListWord列表中,同时检查是否超出最大上传数量。如果上传失败或文件类型错误,会显示错误消息。
摘要由CSDN通过智能技术生成
 <el-form-item label="风险管理方案">
        <el-upload class="upload-demo" 
        action="#" 
        :file-list="fileListWord" 
        :http-request="uploadSectionFileWord">
            <el-button size="small" type="primary">点击上传</el-button>
        </el-upload>
    </el-form-item>
//上面是html 组件部分
//下面 方法
uploadSectionFileWord(params) {
    const loading = this.$loading({
      lock: true
    });
    let str = params.file.name
    let index = str.lastIndexOf(".")
    str = str.substring(index).toUpperCase();
    if (str === '.TXT' || str === '.WORD' || str === '.PDF' || str === '.EXCEL' || str === '.doc' || str ===
      '.EOCX' || str === '.XLSX' || str === '.DOC') {
      const file = params.file
      // 根据后台需求数据格式
      const form = new FormData();
      // 文件对象
      form.append("file", file);
      this.$http.post('/dangerpoint/uploadFile', form).then(res => {
        if (res.data.code === 0) {
          if (this.fileListWord.length >= 3) {
            this.$message.error('最多只能上传三个文件');
            loading.close();
          } else {

            let data = res.data.data
            this.fileListWord.push(data)
            // 获取所有路径的后缀
            for (let i = 0; i < this.fileListWord.length; i++) {
              let str = this.fileListWord[i].path
              let index = str.lastIndexOf(".")
              str = str.substring(index);
              this.fileListWord[i].filed = str
            }
            loading.close();
            this.$message('上传成功');
          }
        } else {
          loading.close();
          this.$message.error(res.data.msg);
        }
      }).catch(e => {
        loading.close();
        this.$message.error(e.message);
      });


    } else {
      this.$message.error('请上传正确文件');
      loading.close();
    }
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值