前言
h5实训时实现的一个图片上传即时显示的效果;如下图所示
正文
Html代码
<form action="" method="POST" role="form">
<div class="form-group">
<label for="touxiang" >头像上传:</label>
<input type="file" id="headPhoto" name="headPhoto" />
<div ><img id="imag" src="img/up.png" alt="" style="height:5rem;width: 5rem;"></div>
</div>
</form>
js脚本代码
<script>
/*显示上传的图片*/
function getObjectURL(file) {
var url = null ;
if (window.createObjectURL!=undefined) {
url = window.createObjectURL(file) ;
} else if (window.URL!=undefined) {
url = window.URL.createObjectURL(file) ;
} else if (window.webkitURL!=undefined) {
url = window.webkitURL.createObjectURL(file) ;
}
return url ;
}
$('#headPhoto').change(function() {
var eImg=$('#imag');
eImg.attr('src', getObjectURL($(this)[0].files[0]));
$(this).after(eImg);
});
</script>
window.URL.createObjectURL方法
创建一个新的对象URL,该对象URL可以代表某一个指定的File对象或Blob对象.
语法:
objectURL = window.URL.createObjectURL(blob);
blob参数是一个File对象或者Blob对象.
objectURL是生成的对象URL.通过这个URL,可以获取到所指定文件的完整内容.
完整代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>图片上传</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<form action="" method="POST" role="form">
<div class="form-group">
<label for="touxiang" >头像上传:</label>
<input type="file" id="headPhoto" name="headPhoto" />
<div ><img id="imag" src="img/up.png" alt="" style="height:5rem;width: 5rem;"></div>
</div>
</form>
</body>
<script>
/*显示上传的图片*/
function getObjectURL(file) {
var url = null ;
if (window.createObjectURL!=undefined) {
url = window.createObjectURL(file) ;
} else if (window.URL!=undefined) {
url = window.URL.createObjectURL(file) ;
} else if (window.webkitURL!=undefined) {
url = window.webkitURL.createObjectURL(file) ;
}
return url ;
}
$('#headPhoto').change(function() {
var eImg=$('#imag');
eImg.attr('src', getObjectURL($(this)[0].files[0]));
$(this).after(eImg);
});
</script>
</html>
后记
国庆杭州四天三夜,真期待呀