Js 图片上传本地预览

Js 图片上传本地预览,这里只展示前端功能的实现方法,并且讲解了 IE 和 Firefox 两者兼容的处理方法。

下面的 code 是上传图片且在本地预览的 Js 函数的实现过程:

function previewImage(file){
	 var file = document.getElementById("uploadfile");       
     //IE8 中没有files这一属性,且不支持 FileReader
     if(file.files && file.files[0]){
  	   var reader = new FileReader();
  	      reader.onload = function(evt){
  	    	  //document.getElementById("newimg").src = evt.target.result;
  	    	  $("#fimg").css("display","block"); 
  	    	  $("#fimg").attr("src",evt.target.result); 
  	      }
  	      reader.readAsDataURL(file.files[0]);
  	      document.getElementById("imageFileName").value = $("#uploadfile").val(); 
     }else{ // IE 滤镜方式
  	   document.getElementById("uploadfile").select();
  	   var path = document.selection.createRange().text;
  	   //var styleFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="'+path+'")';   	  
  	   document.getElementById("preview").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src='"+path+"')";
  	   $("#fimg").css("display","none"); 
  	   //通过路径截取文件名字
  	   var fn_arr = path.split("\\");
  	   var fname = fn_arr[fn_arr.length-1];
  	   document.getElementById("imageFileName").value = fname;  
    }      
}
 


body 中的元素:

<div id="preview" style="width:800px; height:115px; padding-top:15px;">
 <img id="oldimg" name="food.picture" src="<%=basePath %>/images/food/qscaipu.jpg" width="136" height="100" 
 style="float:left;"/>
 
 <img id="newimg" src="" style="display:none; margin-left:60px; float:left;"/>
 
 <div id="filterPreview" style="float:left; margin-left:60px; width:150px; height:100px;"></div>
 
 </div>
  <div class="uploader">
     <input id="imageFileName" name="imageFileName" class="filename" type="text" readonly="readonly" value="" />
     <input class="button" type="button" value="上传..." name="file" />
     <input id="uploadfile" name="file" type="file" size="30" class="file" οnchange="previewImage()" />
</div>
<div>
  
</div>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值