jq 上传照片并预览

 html部分

<div style="height:150px;border:1px solid red;width:200px;padding:15px">
		<!-- 这是要展示上传图片的div以及img标签 -->
		<div style="width:100px;height:100px;margin:0 auto" id="localImag">
        	<img src="" id="preview" alt="">
        </div>
        <!-- 这是图片上传的input框 -->
		<input type='file' id='doc' name='pic' style='margin-top:15px;'>
	</div>

 

js 部分  记得引用jq  

<script type="text/javascript">
	    $(document).on("change","input",function(){
	    	console.log(123)
  			 var file = $(this).val();
	        setImagePreview(file);
		});
	    //实现实时预览的函数
 function setImagePreview(avalue) {
    var docObj = document.getElementById("doc");
    //img
    var imgObjPreview = document.getElementById("preview");
    //div
    var divs = document.getElementById("localImag");
    if (docObj.files && docObj.files[0]) {
       //火狐下,直接设img属性
       imgObjPreview.style.display = 'block';
       imgObjPreview.style.width = '100px';
       imgObjPreview.style.height = '100px';
       //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 = "100px";
       localImagId.style.height = "100px";
       //图片异常的捕捉,防止用户修改后缀来伪造图片
       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>

上传了一个照片后的效果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蘑菇0629

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值