<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<style type="text/css">
#preview, .img, img {
width: 200px;
height: 200px;
}
#preview {
border: 1px solid #000;
}
</style>
</head>
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript">
function preview(file) {
var prevDiv = document.getElementById('preview');
if (file.files && file.files[0]) {
var reader = new FileReader();
reader.onload = function(evt) {
prevDiv.innerHTML = '<img src="' + evt.target.result + '" />';
}
reader.readAsDataURL(file.files[0]);
} else {//这是兼容IE 的
$("#preview").find("img").remove();
prevDiv.innerHTML = '<div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>';
}
}
$(function(){
$(".divClass").off("change").on("change",".uploadFile",function(){
//$("#uploadId").change(function(){
preview($(this)[0]);
});
})
</script>
<body>
<div id="preview">
<img width="200px" height="200px" class="imgClass" src="" />
</div>
<div class="divClass">
<input type="file" id="uploadId" class="uploadFile" />
</div>
</body>
</html>
● 对于 Chrome、Firefox、IE10 使用 FileReader 来实现。
● 对于 IE6~9 使用滤镜 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader 来实现。
来源:http://wangyong31893189.iteye.com/blog/1695472
注:在上传其他的上传过程中(不是本案例),得到上传的路径时,比如原本路径是:c:\administrator\user\aa.png 变成了C:\fakepath\aa.png。并且图片无法预览。这是由于浏览器的安全问题,如IE
选中启用即可。