美文网首页
Upload多文件上传

Upload多文件上传

作者: 阿羡吖 | 来源:发表于2021-11-26 10:45 被阅读0次
    HTML部分
      <Upload ref="affixUpload" :action="上传文件地址"  :multiple="true"
          accept="application/msword,application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-excel"
          :format="['docx','doc','pdf','xls','xlsx']"
           :on-format-error="verifyFormatError"
             :max-size="307200"
              :before-upload="beforeUpload"
               :default-file-list="affixData"
               :show-upload-list="false"
         >
         <Button class="upload-btn">添加</Button>
     </Upload>
    <div style="width:400px;margin-top:15px;" >
        <ul class="file-list" v-for="(list,index) in uploadFile" :key="index">
              <li>文件名: <span style="font-size:15px;">{{ list.name }}</span> <Icon type="ios-close" size="20" style="float:right;line-height:1.6" @click="delFileList(index)"></Icon></li>
      </ul>
       <Button class="upload-btn" @click="handleUploadFileClick">上传文件</Button>
    </div>
    

    上述accept 目前限制的类型为 docx、doc、xls、xlsx等。如需要更多类型可以参考
    type=file上传文件时accept限制文件类型
    除此之外也可根据文件后缀名进行判断upload上传文件限制文件类型

    JS部分
    beforeUpload(file){
      // 上传之前 把需要上传的文件添加一个集合之中,避免文件单端逐个上传 导致多次请求影响性能 
      this.uploadFile.push(file);
      return false; // 避免直接上传
    }
    // 上传之前对所选文件 的删除
    delFileList(index){
       this.uploadFile.splice(index, 1);
    },
    // 执行上传
    handleUploadFileClick(){
      //创建 formData 对象
       let formData = new FormData();
         //多个文件上传
       for(var i=0; i< this.uploadFile.length; i++){  
          formData.append("filename["+i+"]",this.uploadFile[i].name);   // 文件名称  
          formData.append('type', '1'); // 后端需要的上传类型 根据后端需求 可自行决定是否需要
          formData.append("file["+i+"]", this.uploadFile[i]);  //文件流
      } 
    }
    this.$fetch({
       url:this.action,
      method:'post',
      data:formData 
    }).then((res) =>{
      // 成功之后的操作
    })
    

    相关文章

      网友评论

          本文标题:Upload多文件上传

          本文链接:https://www.haomeiwen.com/subject/wdqztrtx.html