JS实现上传图片前本地预览功能
作者:闭包旅人时间:2026-10-28 23:36:19浏览:429
本文介绍如何使用JavaScript在图片上传至服务器前实现本地预览效果。通过监听文件输入框的change事件,利用File API获取文件对象,并调用getAsDataURL方法将图片转换为Base64编码字符串赋值给img标签src属性。代码包含文件类型校验逻辑,支持jpg、gif、png、bmp格式,兼容部分浏览器对本地路径的直接读取,适用于提升用户交互体验的前端开发场景。
JS实现上传图片前本地预览功能
本文详细介绍了一种在JavaScript中实现图片上传前本地预览的技术方案,供开发者参考使用。
具体实现代码如下:
<!doctype html public "-//w3c//dtd html 4.01//en" "http://www.w3.org/tr/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS上传图片前的图片预览效果</title>
</head>
<body>
<input id="myfile" type="file" />
<br />
<img src="/images/logo.gif" alt="Image to be upload." />
<div id="info"></div>
<script type="text/javascript">
var dFile = document.getElementById('myfile');
var dImg = document.getElementsByTagName('img')[0];
var dInfo = document.getElementById('info');
dFile.onchange = function(){
if(!dFile.value.match(/.jpg|.gif|.png|.bmp/i)){alert('File type must be: .jpg, .gif, .bmp or .png !');return;}
if(dFile.files){
dImg.src = dFile.files[0].getAsDataURL();
}else if(dFile.value.indexOf('\\') > -1 || dFile.value.indexOf('\/') > -1){
dImg.src = dFile.value;
}
}
</script>
</body>
</html>
希望本文所述对大家的javascript程序设计有所帮助。
作者最新文章
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
