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

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>,配合条件渲染控制是否显示:

