vue使用readAsDataURL实现选择图片文件后预览

40次阅读

共计 610 个字符,预计需要花费 2 分钟才能阅读完成。

# 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;
                };
            }
        },
    })

效果

完整代码

林中小屋

更多内容关注我的个人博客林中小屋

正文完
 0