在 Vue.js 2 中,你可以使用 el-upload 组件来实现多文件上传。el-upload 是 Element UI 中的一个上传组件,它提供了丰富的功能,包括多文件上传、拖放上传、文件类型限制等。
以下是一个示例,演示了如何在 Vue.js 2 中使用 el-upload 实现多文件上传:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
   | <el-upload           ref="upload_file"           class="upload-file"           multiple           :auto-upload="false"           action="#"           :data="importForm.data"           :headers="importForm.headers"           :file-list="importForm.fileList"           :on-preview="handlePreview"           :on-remove="handleRemove"           :before-upload="handleBefore"           :http-request="handleHttpRequest"           :on-change="handleChange"           :show-file-list="false"           accept=".xlsx,.xls"       >         <el-button slot="trigger" type="primary">选取文件</el-button>       </el-upload>       <el-button type="primary" @click="submitFileForm">确 定</el-button>        importForm:{ 	data:{},    headers:{}, 	fileList:[], }
 
  //上传前回调 handleBefore: function (file) {}, // 点击文件列表中已上传的文件时的钩子 handlePreview: function (file) {}, // 文件列表移除文件时的钩子 handleRemove: function (file, fileList) {}, // 覆盖默认的上传行为,可以自定义上传的实现 handleHttpRequest: function (para) {}, handleChange(file, fileList) { 	this.importForm.fileList = fileList; }, // 提交上传文件 submitFileForm() {   // 创建新的数据对象   let formData = new FormData();   this.importForm.fileList.forEach((item) => {     formData.append("files", item.raw);   });   uploadUserInfos(formData).then(res=>{       if(res.data.success){         this.$alert('ok',{ dangerouslyUseHTMLString: true });       }       else {         this.$alert(res.data.msg,"上传失败",{ dangerouslyUseHTMLString: true });       }       this.$refs.upload_file.clearFiles();     }); },
 
  export const uploadUserInfos = params => {   return axios.post(       `${base}/api/labourfiles/upload-userinfos`,       params,       {         headers: {           'Content-Type': 'multipart/form-data',           Authorization: `Bearer ${window.localStorage.getItem("Token")}`         }       }   ); };
   | 
1 2 3 4 5
   | [HttpPost("upload-userinfos")] public MessageModel<UploadUserInfoDto> UploadUserInfos(IFormCollection formCollection) { 	var files = (FormFileCollection)formCollection.Files; }
  |