Element - The world’s most popular Vue UI frameworkElement,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库https://element.eleme.cn/#/zh-CN/component/upload官网详细介绍upload组件的属性和使用方法,就不展开了,这里主要通过使用它实现开篇的导入excel表的需求。(在vue项目中需要引入ElementUI库,详细步骤请查阅官网)
1、引入ElementUI上传组件upload
<el-upload
class=“upload-demo”
action=“https://jsonplaceholder.typicode.com/posts/”
multiple
:auto-upload=“false”
:file-list=“fileList”
:on-change=“fileChange”>
导入
页面效果
属性介绍
属性、说明、类型
action | 必选参数,上传的地址 | string |
multiple | 是否支持多选文件 | boolean |
auto-upload | 是否在选取文件后立即进行上传 | boolean |
auto-upload我们设置为false,避免自动上传,以便使用自定义上传方式。
file-list | 上传的文件列表, 例如: [{name: 'food.jpg', url: 'https://xxx.cdn.com/xxx.jpg'}] | array |
on-change | 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用 | function(file, fileList) |
2、点击导入按钮,选择文件(点击“打开”触发on-change)
此时可以通过fileChange方法在控制台打印查看文件结构
fileChange(file,fileList){
console.log(file,‘file’)
console.log(fileList,‘fileList’)
}
3、此时我们已经拿到选择的文件,可以自定义上传方式,将其发送至后端服务器
fileChange(file,fileList){
console.log(file,‘file’)
console.log(fileList,‘fileList’)
let url = ‘xxx’ //后端服务器API
let headers = {
‘Content-Type’:‘multipart/form-data’ //自定义上传时,该请求头参数必填
}
let formData = ‘’
for(let i = 0;i < fileList.length;i++){ //遍历文件数组,fileList有可能存在多个文件
formData = new FormData()
formData.append(‘name’,fileList[i].name)
formData.append(‘type’,‘.xlsx’)
formData.append(‘file’,fileList[i].raw)
}
this.$axios({
headers: headers,
method: ‘post’,
data: formData,
url: url,
responseType:‘blob’ //该参数必填,不然下载下来的excel表会提示文件损坏,无法打开
}).then(res=>{
if(res && res.data.size == 0){
//若后台不返回流,说明全部数据导入成功,提示“导入成功”,不自动下载
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!