效果图:
实现思路:
input 注册 onchange 事件, 在 onchange 事件中获取图片文件,然后通过 FileReader 转换为 Base64 编码,然后修改img 的 src内容实现图片上传服务器前预览功能。
代码:
<!DOCTYPE html>
<html lang="zh">
<head>
<style>
.preview{
background-color: #EEE;
width: 120px;
height: 120px;
}
img{
width: 100%;
}
</style>
<script type="text/javascript">
function handleChange(input) {
const files = input.files;
let file = files[0];
if (file) {
let reader = new FileReader()
reader.readAsDataURL(file)
reader.onload = (e) => {
let result = e.target.result
document.getElementById('previewer').src = result
}
}
}
</script>
</head>
<body>
<input type="file" name="img" className='fill' accept="image/*" onchange="handleChange(this)" />
<div class="preview">
<img id='previewer' src='' />
</div>
</body>
</html>