Heim  >  Artikel  >  Web-Frontend  >  Verwenden Sie das Datei-Tag, um die Vorschau für den Datei-Upload mit mehreren Bildern zu implementieren

Verwenden Sie das Datei-Tag, um die Vorschau für den Datei-Upload mit mehreren Bildern zu implementieren

高洛峰
高洛峰Original
2017-02-17 17:03:201584Durchsuche

JS-Code:


<script> 
 //下面用于多图片上传预览功能
 function setImagePreviews(avalue) {
 var docObj = document.getElementById("files");
 var dd = document.getElementById("preview");
 dd.innerHTML = "";
 var fileList = docObj.files;
 for (var i = 0; i < fileList.length; i++) {
  dd.innerHTML += "<p style=&#39;float:left&#39; > <img id=&#39;img" + i + "&#39; /> </p>";
  var imgObjPreview = document.getElementById("img"+i);
  if (docObj.files && docObj.files[i]) {
  //火狐下,直接设img属性
  imgObjPreview.style.display = &#39;block&#39;;
  //控制缩略图大小
  imgObjPreview.style.width = &#39;70px&#39;;
  imgObjPreview.style.height = &#39;70px&#39;;
  //imgObjPreview.src = docObj.files[0].getAsDataURL();
  //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
  imgObjPreview.src = window.URL.createObjectURL(docObj.files[i]);
  }
  else {
  //IE下,使用滤镜
  docObj.select();
  var imgSrc = document.selection.createRange().text;
  alert(imgSrc)
  var localImagId = document.getElementById("img" + i);
  //必须设置初始大小
  localImagId.style.width = "70px";
  localImagId.style.height = "70px";
  //图片异常的捕捉,防止用户修改后缀来伪造图片
  try {
   localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
   localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
  }
  catch (e) {
   alert("您上传的图片格式不正确,请重新选择!");
   return false;
  }
  imgObjPreview.style.display = &#39;none&#39;;
  document.selection.empty();
  }
 }
 return true;
 }
 </script>


HTML-Code:


<form method="post" enctype="multipart/form-data">  
  <input type="file" accept="image/png,image/gif,image/jpg,image/jpeg" id="files" name="files" multiple onchange="javascript:setImagePreviews();" />
  <input type="button" id="upload" value="上传" />
  <p id="preview">  
  </p> 
</form>

Weitere verwandte Artikel, die das Datei-Tag zur Implementierung der Vorschau zum Hochladen mehrerer Bilder verwenden, finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn