本地预览图片html和js例子,直接上代码吧。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>测试本地图片预览</title>
</head>
<body>
    <div>
        <div id="preview_div" style="width: 200px; height: 200px; border: 1px solid #b6ff00; cursor: pointer;" onclick="previewFunc();">
            <img id="preview_img" style="width:100%;height:200px;"/>
            <input id="upload_img" type="file" style="width:0px;height:0px;" />
        </div>
    </div>
</body>
</html>
<script type="text/javascript">
    function previewFunc()
    {
        document.getElementById("upload_img").click();
    }
 
    //值改变的话
    document.getElementById("upload_img").onchange = function () {
        var sender = this;
        if (!sender.value.match(/.jpg|.gif|.png|.bmp/i)) {
            alert('图片格式无效!');
            return false;
        }
 
        var objPreviewImg = document.getElementById('preview_img');
        var objPreviewDiv = document.getElementById('preview_div');
 
        if (navigator.userAgent.indexOf("MSIE") > -1) {
            //IE浏览器的话
            try {
                objPreviewImg.src = createFileObj(this.files[0]);
            }
            catch (e) {
                     //ie7中不兼容出错跳到这里
                this.select();                                  //选择的时候
                top.parent.document.body.focus();                //如果要嵌套到iframe中进行显示的话,需要加这个将焦点聚到iframe里面
                this.blur();                                   //必须要加这个
                var src = document.selection.createRange().text;          //IE 11中改为如下:document.selection ---》  window.getSelection  
                document.selection.empty();
                objPreviewImg.style.display = "none";                 //隐藏img控件
                objPreviewDiv.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
                objPreviewDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src;
            }
        } else {
            //chrome firfox都可以
            objPreviewImg.src = createFileObj(this.files[0]);
        }
    }
 
    function createFileObj(filePath)
    {
        var url = null;
        if (window.createObjectURL != undefined) {
            url = window.createObjectURL(filePath);
        } else if (window.URL != undefined) {
            url = window.URL.createObjectURL(filePath);
        } else if (window.webkitURL != undefined) {
            url = window.webkitURL.createObjectURL(filePath);
        }
        else {
 
        }
        return url;
    }
</script>
 
//----------------------------------------------------------------------
以上需要注意的地方是
 <input id="upload_img" type="file" style="width:0px;height:0px;" /> 
注意不能用display:none的样式进行隐藏,否则ie7中无论如何都不能获取到对应value值。
以上代码嵌套到iframe中也是可以进行预览的,如果自己想封装组件的朋友可以自己再封装一下,或者用jQuery重写一下就OK了。
 

本地预览图片html和js例子的更多相关文章

  1. js 本地预览图片和得到图片实际大小

    //填充预览图片 function adpter(file, upfile) { var imgName = new Date().getTime() + file.name.substr(file. ...

  2. H5实现本地预览图片

    我们使用H5可以很容易的实现图片上传前对其进行预览的功能 Html代码如下: <!DOCTYPE html> <html lang="en"> <he ...

  3. FileReader本地预览图片

    <body> <p><label>请选择一个图像文件:</label><input type="file" id=" ...

  4. js在本地预览图片

    移动web <body> <form enctype="multipart/form-data" name="form1"> 上传文件: ...

  5. js本地预览图片

    废话不说  直接上代码 <script type="text/javascript" src="http://code.jquery.com/jquery-late ...

  6. 浏览器 本地预览图片 window.url.createobjecturl

    第一种方式 <script type="text/javascript"> function setImagePreview() { var docObj = docu ...

  7. js基础进阶--图片上传时实现本地预览功能的原理

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 前言 最近在项目上加一个图片裁剪上传的功能,用的是cropper插件,注意到选择本地图片后就会有预览效果,这里整理一下这种预览效 ...

  8. js实现上传图片本地预览功能以及限制图片的文件大小和尺寸大小

    方法一: js: /**     * 上传图片本地预览方法     * @param {Object} fileObj 上传文件file的id元素  fresh-fileToUpload      * ...

  9. js实现图片上传本地预览

    演示地址:https://xibushijie.github.io/static/uploadImg.html <!DOCTYPE> <html> <head> & ...

随机推荐

  1. Java知多少(108)数据库查询简介

    利用Connection对象的createStatement方法建立Statement对象,利用Statement对象的executeQuery()方法执行SQL查询语句进行查询,返回结果集,再形如g ...

  2. Connecting my Particle Photon Internet of Things device to the Azure IoT Hub(Translation)

    原文: http://www.hanselman.com/blog/ConnectingMyParticlePhotonInternetOfThingsDeviceToTheAzureIoTHub.a ...

  3. [git]git忽略文件

    可以通过创建~/.gitignore_global并添加到git全局配置以减少每层目录的规则重复定义.使用命令git config --global core.excludesfile ~/.giti ...

  4. [JS] jQuery选择器

    jQuery 选择器 选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") id=lastname 的元素 .class $(& ...

  5. 0414-复利计算器6.0.Release

    复利计算器6.0--Release 前言 本次复利计算器的版本更新,主要有以下内容的完善: 1.优化了Web版的页面,提供了更舒服美观的用户体现. 2.新增了移动端(安卓)app版本. 版本信息 项目 ...

  6. 2015 Multi-University Training Contest 2 1002 Buildings

    Buildings Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5301 Mean: n*m列的网格,删除一个格子x,y,用矩形 ...

  7. Ext.NET 4.1 最新版本破解

    Ext.NET 4.1 最新版本破解 今天在将Ext.NET 4.1版本的程序发布到公网时居然要license(localhost和127.0.0.1不收费),而且一年$4999,突然间觉得这是什么鬼 ...

  8. 【ASP.NET MVC 】让@Ajax.ActionLink获取的数据不进Cache

    刚玩这个东西的时候,发现IE会进Cache,不管怎么删除,修改,后台删除了,前台还是一样,找了一下,HTML5只提供了 <meta http-equiv="pragma" c ...

  9. U3D自定义Inspector项未触发保存事件的解决方案

    1.问题描述与解决方案 1.1.说明 应该只有起步做U3D编辑器插件的部分同行需要了解本文. 该问题源于在做UI插件的时候,发现Inspector面板上手动修改值后,没有触发U3D编辑器本身的修改事件 ...

  10. LeetCode126:Word Ladder

    题目: Given two words (start and end), and a dictionary, find the length of shortest transformation se ...