JS实现图片上传预览功能:基于FileReader与URL.createObjectURL

作者:木棉

时间:2026-10-22

浏览:174

本文介绍如何在网页中实现图片上传后的本地即时预览功能。核心思路是获取用户选择的本地文件路径,并通过JavaScript将其加载到页面img标签中。文章提供了兼容多种浏览器的createObjectURL实现方案及jQuery事件监听代码,帮助开发者快速掌握前端图片处理技巧。

文章目录

图片上传预览实现原理

在Web开发中,实现图片上传后的本地即时预览,核心思路是获取用户选择的本地文件路径,随后将该路径数据加载到页面元素中,从而在上传服务器前完成预览效果。

首先构建HTML结构,包含触发上传的按钮、隐藏的文件输入框以及用于显示预览图的容器。

HTML结构搭建


<div class="upload">
    <input type="button" class="btn" onclick="browerfile.click()" value="上传">
    <input type="file" id="browerfile" style="display: none;" class="test">
    <div class="img_center">
      <img src="" class="img1-img">
    </div>
  </div>

接下来编写JavaScript逻辑,主要包含两个部分:一是兼容不同浏览器环境的获取对象URL方法,二是监听文件选择事件并更新图片源。

JavaScript核心代码实现


//获取图片路劲的方法,兼容多种浏览器,通过createObjectURL实现
function getObjectURL(file){
  var url = null;
  if(window.createObjectURL != undefined){
    url = window.createObjectURL(file);//basic
  }else if(window.URL != undefined){
    url = window.URL.createObjectURL(file);
  }else if(window.webkitURL != undefined){
    url = window.webkitURL.createObjectURL(file);
  }

  return url;
}

//实现功能代码
$(function(){
  $("#browerfile").change(function(){
    var path = browerfile.value;
    var objUrl = getObjectURL(this.files[0]);
    if(objUrl){
      $('.img1-img').attr("src",objUrl);
    }
  })
})

通过上述代码示例,即可实现简洁高效的图片上传预览功能。希望本文内容能为您的学习提供参考,欢迎继续支持本站获取更多技术资源。

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章