<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>头像预览</title>
<style>
div {
width: 100px;
height: 100px;
border: 1px solid;
border-radius: 50%;
}
img {
width: 100%;
height: 100%;
border-radius: 50%;
}
</style>
</head>
<body>
<div>
<img src="" alt="">
<input type="file" name="" id="">
<script>
var input = document.querySelector('input');
var img = document.querySelector('img');
// input标签发生变化触发事件
input.onchange = function () {
// 获取上传的第一个文件对象
var imgObj = this.files[0];
// 创建一个读取文件的对象,并将刚刚读取到的文件传进去
var fr = new FileReader(imgObj);
// 通过readAsDataURL获取文件的地址,得到的地址是base64字符串的数据,里面包含了
// 文件信息
fr.readAsDataURL(imgObj);
fr.onload = function () {
// 获取到的地址在fr对象的result属性里面,等待fr加载完毕赋值给img.src即可预
// 览头像
img.src = fr.result
}
}
</script>
</div>
</body>
</html>