Jquery OR Js 实现图片预览

Posted 蚂蚁力量

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery OR Js 实现图片预览相关的知识,希望对你有一定的参考价值。

Jquery方法一:
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="jquery.js"></script>
</head>
<body>
    <input type=‘file‘ id=‘file‘/>
    <div style="width:100px;height:100px;border:1px solid red" id="img"></div>
</body>
<script>
    $(function(){
       $("#file").change(function(e){
             // var file = e.target.files||e.dataTransfer.files;
var file = this.files[0];
             if(file){
                 var reader = new FileReader();
                 reader.readAsDataURL(file);
                 reader.onload=function(){
                        $("<img src=‘"+this.result+"‘/>").appendTo("#img");
 
                 }
 
                // reader.readAsDataURL(file);
            }
      });
   })
 
 </script>
</html>
 
 
JS方法二:
Js 方法:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>By:DragonDean</title>
<script type="text/javascript">
//下面用于图片上传预览功能
function setImagePreview(avalue) {
    var docObj=document.getElementById("doc");
 console.log(docObj.files[0]);
    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>
 
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td height="101" align="center">
<div id="localImag"><img id="preview" src="002.jpg" width="150" height="180" style="display: block; width: 150px; height: 180px;"></div>
</td>
</tr>
<tr>
<td align="center" style="padding-top:10px;border:1px solid red"><input type="file" name="file" id="doc" style="width:150px;" onchange="javascript:setImagePreview();"></td>
</tr>
</tbody>
</table>
</body>
</html>

以上是关于Jquery OR Js 实现图片预览的主要内容,如果未能解决你的问题,请参考以下文章

简单实现图片上传预览

jquery+html实现前端的上传图片预览

浅谈js本地图片预览

js 实现异步上传图片+预览

jquery实现上传图片及图片大小验证图片预览效果代码

对于图片缩放预览查看JS插件