本文提供使用JavaScript实现本地图片上传预览的完整代码示例。通过判断文件后缀名限制格式,并利用浏览器特性读取本地文件路径,在页面指定区域实时显示所选图片,适用于需要前端即时预览上传内容的场景。
JavaScript实现本地图片上传预览功能详解
本文介绍一种利用JavaScript实现本地图片上传预览的具体方法,供开发者参考。
<html>
<head>
<title>www.jb51.net 图片上传预览</title>
<script>
function PreviewImage(imgFile) {
var pattern = /(\.*.jpg$)|(\.*.png$)|(\.*.jpeg$)|(\.*.gif$)|(\.*.bmp$)/;
if (!pattern.test(imgFile.value)) {
alert("系统仅支持jpg/jpeg/png/gif/bmp格式的照片!");
imgFile.focus();
} else {
var path;
if (document.all) {//IE
imgFile.select();
path = document.selection.createRange().text;
document.getElementById("imgPreview").innerHTML = "";
document.getElementById("imgPreview").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=\"" + path + "\")";//使用滤镜效果
} else {//FF
path = URL.createObjectURL(imgFile.files[0]);
document.getElementById("imgPreview").innerHTML = "<img src='"+path+"'/>";
}
}
}
</script>
</head>
<body>
<div>
<input type="file" onchange='PreviewImage(this)' />
<div id="imgPreview" style='width: 500px; height: 400px;'>
<img src="" />
</div>
</div>
</body>
</html>
可通过在线HTML/CSS/JavaScript代码运行工具(http://tools.jb51.net/code/HtmlJsRun)对示例代码进行测试,以验证运行效果。

如需了解更多JavaScript相关知识,可参考本站《JavaScript图片操作技巧大全》、《JavaScript切换特效与技巧总结》、《JavaScript运动效果与技巧汇总》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》等专题内容。
希望本文提供的代码示例对JavaScript程序设计有所帮助。