代码展示:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.preview{
width: 100px;
height: 100px;
position: relative;
border: 1px solid black;
}
.preview img,.preview input{
width: 100px;
height: 100px;
position: absolute;
top: 0;
left: 0;
}
.preview input{
opacity: 0;
}
</style>
</head>
<body>
<div class="preview">
<img src="./img/用户.png">
<input type="file">
</div>
<script>
var input=document.querySelector("input");
var img=document.querySelector("img");
input.onchange=function(){
console.log(this.files);//input里面的文件
if(this.size>1024*20){//设置图片大小小于20k
alert("图片尺寸太大,请换一张")
}else{
var newFile=new FileReader();//文件读取器
newFile.readAsDataURL(this.files[0]);//将文件读取为
// console.log(newFile);
newFile.onload=function(data){
console.log(data);
img.src=data.target.result;
}
}
}
</script>
</body>
</html>
结果展示:(未放头像前)
(放上头像后)