HTML5 file API可以让图片在上传之前直接在浏览器中显示,通常使用FileReader方法,代码示意如下:
<!DOCTYPE>
<html>
<head>
<meta charset="utf-8">
<style>
.imgCom{
width: 300px;
height: 300px;
border: 1px solid #ccc;
}
.imgCom > img{
width: 100 %;
height: 100 %;
}
</style>
</head>
<body>
<input type="file" id= "file" />
<div class="imgCom" id= "imgCom" style="width" > </div>
<script>
var eleFile = document.querySelector('#file');
function preview(file) {
var reader = new FileReader();//创建FileReader对象
reader.onload = function (e) {
document.getElementById('imgCom').innerHTML = '<img src="' + e.target.result + '">'
}
reader.readAsDataURL(file)
}
eleFile.addEventListener('change', function (e) {
var file = e.target.files[0],
reg = /\.(png|jpg|gif|bmp)$/;
if (reg.test(file.name)) {
preview(file)
} else {
alert('选择正确格式的图片');
}
});
</script>
</body>
</html>