Vue 3 中文件上传交互怎么实现单张图片预览效果

浅雪大大_7993

浅雪大大_7993

2026-10-21

867人浏览

原创

vue 3 单张图片上传本地预览无需后端,用 filereader 或 url.createobjecturl 将文件转 base64 或临时 url 绑定至 img/el-image 实现即时渲染,并支持删除、大图预览及上传后 url 替换。

vue 3 中文件上传交互怎么实现单张图片预览效果

Vue 3 中实现单张图片上传后的本地预览,核心是**不依赖后端、不发请求,仅用浏览器原生 API(FileReader)将选中的图片转为 base64 URL 并绑定到 <img> 或 <el-image></el-image> 组件上**。整个过程轻量、即时、无网络延迟。

1. 选择文件并生成预览 URL

监听 <input type="file"> 的 change 事件,读取第一个文件(限制单张),用 FileReader.readAsDataURL() 转为可直接渲染的 data URL:

  • 使用 ref 管理预览地址,例如 previewUrl = ref('')
  • 在 onFileChange 中判断 event.target.files[0] 是否存在且类型为图片(可选校验)
  • 创建 FileReader 实例,onload 回调中将 e.target.result 赋值给 previewUrl

2. 渲染预览图并控制显示逻辑

把 previewUrl 绑定到图片标签或 Element Plus 的 <el-image></el-image>,配合条件渲染控制是否显示:

vue-composition-api-best-practices
vue-composition-api-best-practices

Vue 3 组合式 API 与

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 17.2万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.4万人学习

Vue.js 微实战--十天技能课堂
Vue.js 微实战--十天技能课堂

共18课时 | 1.7万人学习