JS实现上传图片前本地预览功能

作者:闭包旅人

时间:2026-10-28

浏览:430

本文介绍如何使用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程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章