JavaScript 实现图片上传预览功能
作者:纸飞机时间:2026-10-28 22:06:21浏览:535
本文介绍使用JavaScript实现图片上传预览的具体方法。通过校验文件扩展名确保格式为jpg、gif等标准图片,并针对IE浏览器采用AlphaImageLoader滤镜,Firefox则利用getAsDataURL生成Data URL,从而在本地完成图片预览。
JavaScript 实现图片上传预览功能
本文详细介绍如何利用JavaScript实现图片上传前的本地预览功能,供开发者参考。
具体代码实现如下:
定义预览函数 PreviewImage(imgFile)
{
获取文件扩展名:从文件路径中提取最后一个点之后的字符串,即 filextension = imgFile.value.substring(imgFile.value.lastIndexOf("."), imgFile.value.length);
将扩展名转换为小写:filextension = filextension.toLowerCase();
if ((filextension!='.jpg')&&(filextension!='.gif')&&(filextension!='.jpeg')&&(filextension!='.png')&&(filextension!='.bmp'))
{
则弹出提示:“对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !”,
并将焦点返回至文件选择框:imgFile.focus();
}
否则(即格式合法),
{
定义变量 path 用于存储图片路径。
根据浏览器类型处理预览:
若为IE浏览器(document.all):
调用 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 + "\")";
若为Firefox等非IE浏览器:
获取文件数据URL:path = imgFile.files[0].getAsDataURL();
插入图片元素:document.getElementById("imgPreview").innerHTML = "<img id='img1' width='120px' height='100px' src='"+path+"'/>";
HTML调用方式如下:
具体HTML结构如下:
添加文件上传控件:<input type="file" name="file"
设置样式及事件:style="width: 200px; height: 20px;" onchange="PreviewImage(this)" id="upload" />
添加预览区域:<div id="imgPreview" style="width:120px; height:100px;margin-left: 280px;">
</div>
运行效果如图所示:

希望本文所述对大家的javascript程序设计有所帮助。
作者最新文章
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
