JavaScript结合HTML5实现图片上传预览

作者:异步漫步时间:2026-10-23 11:39:04浏览:352

本文介绍如何利用JavaScript与HTML5的FileReader API实现图片上传前的本地预览功能。通过检测浏览器支持及文件类型,动态读取File对象并转换为Base64数据展示在img标签中,无需后端交互即可提升用户体验。

HTML5图片上传预览实现

利用JavaScript配合HTML5特性,可以实现上传图片时的本地即时预览效果。具体代码实现如下所示:


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传预览</title>
<script type="text/javascript">
//预览图片,参数说明:第一个参数:要预览的file对象,第二个参数:预览的img标签的id名称
function yl(obj,id) {
 //FileReader
 if(window.FileReader){//验证当前的浏览器是否支持图片预览
 var reader=new FileReader();
 var file=obj.files[0];
 var regexImage=/^image\//;//js正则表达式,匹配是否拥有image
 if(regexImage.test(file.type)){
  //设置读取结束的回调函数
  reader.οnlοad=function(data){
  var img=document.getElementById(id);
  img.src=data.target.result;//将结果数据显示到img标签上

  };
  //开始读取上传的文件内容
  reader.readAsDataURL(file);
 }else{
  alert("亲,看清楚是图片预览");
  return;
 }
 }else{
 alert("亲,浏览器该升级了");
 return;
 }
}

</script>
</head>
<body>
<form action="fileup" method="post" enctype="multipart/form-data">
<input type="file" name="f1" onchange="yl(this,'ylimg')"/>
<img alt="图片预览" id="ylimg" width="400px" height="400px"/>
<input type="submit" value="上传图片"/>
</form>
</body>
</html>

以上内容即为完整的实现方案,希望能为读者的技术学习提供有效参考,同时也感谢大家对本平台的支持。

作者最新文章