readAsDataURL 是一个异步的方法,需要通过监听事件的方式获取文件的读取结果
项目实战 博客 中对应的代码:
var file = document.querySelector('#file')
var preview = document.querySelector('#preview')
// 当用户选择完文件以后
file.onchange = function() {
// 1.创建文件读取对象
var reader = new FileReader()
// 用户选择的文件列表
// this.files是一个数组,而我们上传一张图片,只需要取第一个元素即可
// console.log(this.files[0])
// 2.读取文件
reader.readAsDataURL(this.files[0])
// 3.监听onload事件
reader.onload = function() {
// 将文件读取的结果显示在页面中
preview.src= reader.result
}
}