elementUI组件其实已经很方便的使用上传功能,但是有很多弊端,感觉不是很好用,在自己用elementUI的upload实现上传功能感觉很累赘(绑定一堆的方法,绑定一堆的变量,绑定出错还得费时费力去调试……)
‘eg’:我就遇到个问题,上传只能上传一个文件,用插件实现的话,还得单独写个,关键还不知道往哪个方法里写,调试了很久也没调好。果断放弃了。
‘eg’:选择文件夹,反而还做不到,无语ing,我要做一个选择多张图片,不是234张,是好几十张,让我选择一堆图片,烦不烦,我就选个文件夹不久解决了,element反而做不到。。。
‘eg’:存储数据不方便,最主要的就是,绑定一堆乱七八糟的方法和变量,有时候(需要特殊处理的时候)就是不管你怎么操作,就是不对。
1 2 3 4 5
| // html部分:
<el-button type="primary" onclick="chooseSeat.click()" :disabled="flag.onceUpload">导入座位表</el-button> <input id="chooseSeat" name="files" style="display:none;" type="file" @change="onFileSelect()" accept="application/vnd.ms-excel"/>
|
路径选择文件夹
1
| <input id="choose" name="files" style="display:none;" type="file" @change="onFileSelect()" multiple="multiple" accept="image/png,image/jpeg,image/jpg" webkitdirectory directory/>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| // javascript部分:
onFileSelect(){ var oFiles = document.querySelector("#chooseSeat").files; for (var i=0;i<oFiles.length;i++){ this.files.push(oFiles[i]); } this.startUpload(); }, startUpload(){ let v = this; let formData = new FormData(); for (var i = 0, file; file = this.files[i]; i++) { formData.append('file', file); // 根据需要这里可能需要作出不同的修改:formData.append(file.name, file); } formData.append('deptid',v.curGrade.id); formData.append('code',v.curGrade.code); formData.append('flag',v.resampleFlag?1:0); console.log(formData); adminService.importTeachingStudent(formData).then(function(r){ // 操作 }) },
|
路径选择文件夹处理图片
1 2 3 4 5 6
| for (var i=0;i<oFiles.length;i++){ var type = oFiles[i]['type']; if(/^image/g.test(type)){ this.files.push(oFiles[i]); } }
|