# vue 实现选择图片文件后预览
利用 h5 的 api 可以实现选择文件并实现预览
readAsDataURL
方法会读取指定的 Blob 或 File 对象。读取操作完成的时候,readyState 会变成已完成 DONE,并触发 loadend 事件,同时 result 属性将包含一个 data:URL 格式的字符串(base64 编码)以表示所读取文件的内容
方式引入 vue 文件
<script src="./vue.js"></script>
文件选择框, 并添加 change 事件,和 dom 操作 ref
<input type="file" @change="uploadImg" ref="img" />
添加一个用于显示预览的 img 标签
<img id="img" />
实例化 vue 并完成操作
var vm = new Vue({
el: '#app',
methods: {
//change 事件
uploadImg(el) {
// 根据 ref 得到图片文件
var file = this.$refs.img;
// 使用 h5 的读取文件 api
var reader = new FileReader();
reader.readAsDataURL(file.files[0]);
// 读取完成后触发
reader.onload = function () {
// 改变 img 的路径
document.querySelector("img").src = this.result;
};
}
},
})
效果
完整代码
林中小屋
更多内容关注我的个人博客林中小屋