1. <el-upload
    2. :limit="1"
    3. v-if="audioType == 0"
    4. class="upload-content"
    5. ref="upload"
    6. action="string"
    7. :accept="acceptFileFormat"
    8. :file-list="fileList"
    9. :auto-upload="false"
    10. :on-change="fileChange">
    11. <el-button slot="trigger" size="small" :loading="submitState" type="primary">选取文件</el-button>
    12. <el-button
    13. style="margin-left: 10px;"
    14. size="small"
    15. :loading="submitState"
    16. type="success"
    17. @click="submitUpload">上传到服务器</el-button>
    18. <div slot="tip" class="el-upload__tip">音频格式为:.m4a,.wav,.mp3,.amr,小于200MB的音频文件</div>
    19. </el-upload>
    //添加文件、上传文件、文件失败
    fileChange(file, fileList) {
      console.log('file',file);
      //console.log('this.fileList',this.fileList);
      this.fileList = fileList;
      this.submitUpload();
    }
    //文件上传
    submitUpload() {
      this.submitState = true;
      // let newFileList = [];
      // newFileList = [...this.fileListData,...this.fileList];
    
      let fileSize = 0;
      //let length = 0;
      //length = newFileList.length;
      //超出20个文件
      // if (length > 20) {
      //     this.$message({ message: '最多只能上传20个文件!', type: 'warning' });
      //     this.submitState = false;
      //     return;
      // }
      //没有选取文件时 上传
      let fileLength = this.fileList;
      if (fileLength <= 0) {
        this.$message({ message: '请先选取文件再上传!', type: 'warning' });
        this.submitState = false;
        return;
      }
    
      let formData = new FormData();
      formData.append('typeName','audio')
      formData.append('modularName','interlocution');
      if (this.fileList && this.fileList.length > 0) {
        this.fileList.forEach((item) => {
          fileSize += item.size;
          formData.append('file',item.raw)
        })
      }
      const isLt20M = fileSize / 1024 / 1024 < 200;
      //单次上传不能超过20M 可以上传多次
      if (!isLt20M){
        this.$message({ message: '上传文件大小不能超过 200MB!', type: 'warning' });
        this.submitState = false;
        this.$refs.upload.clearFiles();
        return;
      } else {
        knowledgeFileUpload(formData).then(res => {
          //console.log('data',res);
          this.$message({
            message: '上传成功!',
            type: 'success'
          });
          //console.log('knowledgeFileUpload',res);
          this.audioUrl = res;
          this.submitState = false;
          //this.$refs.upload.clearFiles();
          //上传文件成功之后,清空选中的文件
          this.fileList = [];
          // res.forEach((item) => {
          //     this.fileListData.push(item);
          // })
          this.fileListData = [res];
        }).catch(() => {
          this.submitState = false;
          this.$refs.upload.clearFiles();
          this.fileList = [];
        })
      }
    },
    
      //删除文件
      deleteFileEvent() {
        let data = {
          fileUrl: item.filePath
        }
        delFileByUrl(data).then(() => {
          let objData = {
            processId: this.reModelId
          }
          updateUploadUrlById(objData).then(itemRes => {
            console.log('itemRes',itemRes);
            this.fileListData = this.fileListData.filter(function(it) {
              return item.filePath != it.filePath;
            });
            this.$message({
              type: 'success',
              message: itemRes
            })
          })
        })
      },