如何利用Vue3和element-plus实现图片上传组件
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关如何利用Vue3和element-plus实现图片上传组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言element-plus 提
千家信息网最后更新 2026年10月31日如何利用Vue3和element-plus实现图片上传组件
这篇文章将为大家详细讲解有关如何利用Vue3和element-plus实现图片上传组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
前言
element-plus 提供了 uploader 组件,但是不好定制化,所以自己又造了个轮子,实现了一个图片上传的组件,它的预期行为是:
1.还没上传图片时,显示上传卡片
2.上传图片时显示进度条,隐藏上传卡片
3.上传成功时显示图片缩略图,上传失败则显示失败提示
4.支持上传图片的预览和删除
具体如下图所示:

具体代码
图片上传
这里使用的图床是牛图网,无需注册,貌似也没有图片大小的限制,但是请不要上传违规图像。
import axios from "axios"import { ElMessage } from 'element-plus'const service = axios.create({ baseURL: "/image"})service.interceptors.response.use(response => { const code = response.data.code || 200 if (code === 200) { return response.data.data } let msg = response.data.code + " " + response.data.msg ElMessage.error(msg) return Promise.reject('上传图片失败:' + msg)})/** * 上传图片 * @param {File} file 图片文件 * @param {RefImpl} progress 上传进度 * @returns promise */function uploadImage(file, progress) { let formData = new FormData(); formData.append("file", file) return service({ url: "/upload", method: "post", data: formData, onUploadProgress(event) { let v = Math.round(event.loaded / event.total * 100) progress.value = v == 100 ? 80 : v }, })}export { uploadImage }这里使用 onUploadProgress 来监视上传进度,但是实际上直接使用计算出来的进度往往会和实际的存在很大的偏差,也就是说:即使你还在上传,axios 也会告诉你已经上传完了,所以这里把 100 的进度换成了 80,真正的 100 进度应该在服务器返回 url 时设置。
受到同源策略的限制,我们需要在 vue.config.js 中配置一下代理服务器:
module.exports = { devServer: { proxy: { "/image": { target: "https://niupic.com/api", pathRewrite: { "^/image": "" }, }, } }}上传组件
图片预览功能用的是 vue-easy-light-box,如果没有安装的话可以 npm install --save vue-easy-lightbox@next 安装一下。下面是具体代码:
在图片上传之前、上传完成和移除图片的时候都会触发相应的自定义事件,父级组件可以处理这些事件来设置图片 url。
关于"如何利用Vue3和element-plus实现图片上传组件"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
图片
组件
进度
篇文章
事件
代码
卡片
实际
更多
服务器
服务
限制
不错
实用
很大
成功
不好
也就是
也就是说
偏差
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳市人人互联网科技有限公司
互联网科技网
科技和互联网公司
圆梦互联网科技
世界互联网领先科技成果
善班互联网科技有限公司
润盈互联网科技
互联网巨头投资的硬核科技
衡水科技产业互联网平台
互联网 科技馆
隆华科技工业互联网
深圳前海聚择互联网科技有限公司
济南华为互联网科技产业总部基地
互联网对科技的发展
民营互联网公司国防科技
华夏恒生科技与互联网科技
深圳市罗太互联网科技有限公司
互联网数据科技专业
为客找房互联网科技公司怎么样
西安有哪些互联网高科技企业
互联网科技公司起名
互联网科技金融
北京互联网科技
上海挚品互联网科技
互联网金融科技委员会
中盈科技互联网信息有限公司
常德市电业局互联网科技部
阿里互联网科技公司
华夏互联网科技业
承德科技产业互联网平台