网页前端设计

http://www.86y.org
feedskyQQ邮箱

搜索文章

js无刷新预览所选择的图片文件

用声音读出全文关注我吧
 2014/4/2 16:06:29 阅读次数:3676

本实例效果用进来非常方便不会错误上传不相关的文件。选中文件后可以即时预览你选中的图片文件是不是非常方便呢。

1.效果如下,可测试

 

 

 

2.代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>本地图片预览</title>
<script type="text/javascript">
    //本地图片预览
            function setImagePreview(fieldupload, image, imagediv) {
                var docObj = document.getElementById(fieldupload);
                var imgObjPreview = document.getElementById(image);
                if (docObj.files && docObj.files[0]) {
                    //火狐下,直接设img属性                        
                    imgObjPreview.style.display = "block";
                    imgObjPreview.style.width = "150px";
                    imgObjPreview.style.height ="150px";
                    //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(imagediv);
                    //必须设置初始大小                        
                    localImagId.style.width = "150px";
                    localImagId.style.height = "150px";
                    //图片异常的捕捉,防止用户修改后缀来伪造图片
                    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>
<div id="localImag"> <img id="preview" width="150px" height="150px"  src="http://www.86y.org/upload/images/201431991223_20120303151849_WufzX.gif" alt="" /></div>
<div>
  <input type="file" onchange="javascript:setImagePreview('upload','preview','localImag');" id="upload" />
</div>
</body>
</html>

(完)


大家有什么问题或技术上的想法可以在此与大家分享,也可以加入前端爱好者QQ群(141999928)一起学习进步:【幸凡前端技术交流群】
0

如果您觉得本文的内容对您的学习有所帮助,捐赠与共勉,支付宝(左)或微信(右)

阅读全文内容关闭