JavaScript实现本地图片文件拖拽预览功能

作者:木棉时间:2026-10-22 06:05:04浏览:179

本文介绍如何利用JavaScript实现本地图片文件的拖拽上传效果。通过监听拖拽事件并结合FileReader API,将拖入的图片文件转换为Data URL并设置为容器背景,从而实现无需提交表单即可在本地预览图片的功能。

JavaScript实现本地图片拖拽预览功能

实现将文件拖拽至指定区域的功能,具体操作步骤如下。

在本地上传图片场景中,若采用拖拽交互方式,视觉效果更为直观。以下直接展示相关代码实现。

完整代码示例如下:


<!DOCTYPE html> 
<html lang="en"> 
<head> 
 <meta charset="UTF-8"> 
 <title>Document</title> 
 <style> 
  #dropBox{ 
   width: 300px; 
   height: 300px; 
   border:1px solid red; 
   font-size: 40px; 
   text-align: center; 
   background: lightyellow; 
   background-repeat: no-repeat; 
   background-size: 100%; 
  } 
  #dropBox div{ 
   margin:50px auto; 
   width: 140px; 
  } 
 </style> 
</head> 
<body> 
 <div id="dropBox"> 
  <div>拖动你的图片到这里</div> 
 </div> 
 <script type="text/javascript"> 
  var dropBox; 
  window.onload=function(){ 
   dropBox = document.getElementById("dropBox"); 
   // 鼠标进入放置区时 
   dropBox.ondragenter = ignoreDrag; 
   // 拖动文件的鼠标指针位置放置区之上时发生 
   dropBox.ondragover = ignoreDrag; 
   dropBox.ondrop = drop; 
  } 
  function ignoreDrag(e){ 
   // 确保其他元素不会取得该事件 
   e.stopPropagation(); 
   e.preventDefault(); 
  } 
  function drop(e){ 
   e.stopPropagation(); 
   e.preventDefault(); 
 
   // 取得拖放进来的文件 
   var data = e.dataTransfer; 
   var files = data.files; 
   // 将其传给真正的处理文件的函数 
    
   var file = files[0]; 
   var reader = new FileReader(); 
   reader.onload=function(e){ 
    dropBox.style.backgroundImage = "url('"+e.target.result+"')"; 
   } 
   reader.readAsDataURL(file); 
  } 
 </script> 
</body> 
</html> 

以上内容为本文的全部介绍,希望能为读者的学习提供协助,同时也欢迎继续支持本站。

作者最新文章