el-upload文件上传
时间: 2023-06-30 07:16:53 浏览: 131
el-upload 是饿了么团队开发的一个 Vue.js 文件上传组件,可以方便地在前端实现文件上传功能。使用 el-upload 组件,你只需要在 Vue.js 模板中添加一个 el-upload 标签,并设置相应的属性,就可以实现文件上传功能。
下面是一个使用 el-upload 组件实现文件上传的示例代码:
```html
<template>
<div>
<el-upload
class="upload-demo"
action="/upload"
:on-success="handleSuccess"
:before-upload="beforeUpload"
:headers="headers"
:limit="3"
:data="{foo: 'bar'}"
:accept="'image/*'">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
</div>
</template>
<script>
export default {
data() {
return {
headers: {
Authorization: 'Bearer ' + localStorage.getItem('token')
}
}
},
methods: {
handleSuccess(response, file, fileList) {
console.log(response)
},
beforeUpload(file) {
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'
const isLt2M = file.size / 1024 / 1024 < 2
if (!isJPG) {
this.$message.error('上传图片只能是 JPG/PNG 格式!')
}
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 2MB!')
}
return isJPG && isLt2M
}
}
}
</script>
```
在上面的代码中,我们设置了 el-upload 的 action 属性来指定上传文件的地址,headers 属性来指定上传文件时需要发送的请求头,before-upload 属性来指定上传文件前需要进行的验证,limit 属性来指定上传文件的数量限制,data 属性来指定上传文件时需要发送的数据,accept 属性来指定上传文件的类型限制。同时,我们还设置了 el-upload 的 trigger 和 tip 插槽,用来自定义上传按钮和提示信息。
需要注意的是,el-upload 组件需要配合后端进行使用,后端需要提供相应的接口来接收上传的文件。
阅读全文