JS改变input type=“file” 文件选定生成预览图

<head>

  <script type="text/javascript">

function setImagePreview(avalue) {

    var docObj=document.getElementById("doc");

   var imgObjPreview=document.getElementById("preview");
if(docObj.files && docObj.files[0]){
   //火狐下,直接设img属性
   imgObjPreview.style.display = 'block';
   imgObjPreview.style.width = '150px';
   imgObjPreview.style.height = '180px';
   //imgObjPreview.src = docObj.files[0].getAsDataURL();
   //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
   imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
}else{
   //IE下,使用滤镜
   docObj.select();
   var imgSrc = document.selection.createRange().text;
   var localImagId = document.getElementById("localImag");
   //必须设置初始大小
   localImagId.style.width = "150px";
   localImagId.style.height = "180px";
   //图片异常的捕捉,防止用户修改后缀来伪造图片
   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 = 'none';
   document.selection.empty();
   }
return true;
}

  </script>

</head>

 

<font>图片:</font><input type="file" name="file" id="doc" style="width:150px;" onchange="javascript:setImagePreview();"/><br/><br/>
  <div id="localImag"><img alt="0.0" id="preview" src="<?php echo "control/".$row['address'];?>" width="100%" height="50%" style="display: block; width: 150px; height: 180px;"></div>
<br/>

 

posted @ 2016-08-29 10:27  看不懂的世界  阅读(2126)  评论(0编辑  收藏  举报