vue+elementui 图片上传
时间: 2023-09-04 16:03:31 浏览: 136
vue+elementUI实现图片上传功能
Vue 中使用 ElementUI 进行图片上传,可以通过以下步骤来实现:
1. 首先,确保已经安装了 Vue.js 和 ElementUI。
2. 创建一个 Vue 组件,用于处理图片上传功能。可以命名为 ImageUpload.vue。
3. 在 ImageUpload.vue 组件中引入 ElementUI 的上传组件,代码如下:
```html
<template>
<div>
<el-upload
action="/api/upload"
:on-success="handleSuccess"
:before-upload="handleBeforeUpload"
:show-file-list="false"
>
<el-button type="primary" icon="el-icon-upload">点击上传图片</el-button>
</el-upload>
</div>
</template>
<script>
export default {
methods: {
handleSuccess(response) {
// 上传成功后的处理逻辑
console.log(response);
},
handleBeforeUpload(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>
```
4. 在上述代码中,`<el-upload>` 组件是 ElementUI 提供的上传组件。其中,`action` 属性指定了上传的 URL 地址,在这里可以根据需求进行修改;`on-success` 属性绑定了上传成功后的处理函数,可以在其中进行需要的处理;`before-upload` 属性绑定了上传之前的处理函数,可以在其中进行图片类型和大小的限制等处理;`show-file-list` 属性设置为 `false`,表示不显示已上传文件的列表。
5. 可以在 `<el-upload>` 标签内部添加其他元素和样式来进行页面布局和美化,以满足自己的需求。
6. 最后,将 ImageUpload.vue 组件引入到需要使用图片上传功能的页面中,并在相应的位置使用组件标签,即可实现图片上传功能。
以上就是使用 Vue 和 ElementUI 进行图片上传的简单实现方式。根据实际需求,可以根据 ElementUI 上传组件的 API 进行更多的自定义和扩展。
阅读全文