zoukankan      html  css  js  c++  java
  • 关于html中图片上传预览的实现

    本地图片预览

    第一种方法

    <!DOCTYPE html>  
    <html>  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    <script type="text/javascript">
    function change() {
        var pic = document.getElementById("preview"),
            file = document.getElementById("f");
        //得到后缀名
        var ext=file.value.substring(file.value.lastIndexOf(".")+1).toLowerCase();
         // gif在IE浏览器暂时无法显示
         if(ext!='png'&&ext!='jpg'&&ext!='jpeg'){
             alert("图片的格式必须为png或者jpg或者jpeg格式!"); 
             return;
         }
         var isIE = navigator.userAgent.match(/MSIE/)!= null,
             isIE6 = navigator.userAgent.match(/MSIE 6.0/)!= null;
     
         if(isIE) {
            file.select();
            var reallocalpath = document.selection.createRange().text;
     
            // IE6浏览器设置img的src为本地路径可以直接显示图片
             if (isIE6) {
                pic.src = reallocalpath;
             }else {
                // 非IE6版本的IE由于安全问题直接设置img的src无法显示本地图片,但是可以通过滤镜来实现
                 pic.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='image',src="" + reallocalpath + "")";
                 // 设置img的src为base64编码的透明图片 取消显示浏览器默认图片
                 pic.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';
             }
         }else {
            html5Reader(file);
         }
    }
    
    function html5Reader(file){
         var file = file.files[0];
         var reader = new FileReader();
         reader.readAsDataURL(file);
         reader.onload = function(e){
             var pic = document.getElementById("preview");
             pic.src=this.result;
         }
     }
    
    
    </script>
    </head>
    <body>
    <form action="">
        <input type="file" multiple id="f" type="file" name="f" onchange="change()" >
        <img id="preview" alt="" src="" name="pic" class="file_img" style="margin-top: 5px;margin-left: 12px;  158px; height: 230px;"/>
    </form>
    </body>
    </html>

    第二种方法

    <!DOCTYPE html>  
    <html>  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    <script type="text/javascript">
    function previewFile() {
     var preview = document.querySelector('img');
     var file  = document.querySelector('input[type=file]').files[0];
     var reader = new FileReader();
     reader.onloadend = function () {
      preview.src = reader.result;
     }
     if (file) {
      reader.readAsDataURL(file);
     } else {
      preview.src = "";
     }
    }
    </script>
    </head>
    <body>
        <input type="file" onchange="previewFile()"><br>
        <img src="" height="200" width="300" alt="Image preview..."/>
    </body>
    </html>
  • 相关阅读:
    算法的时间与空间复杂度(一看就懂)
    技术人更应该学会即兴表达
    架构设计之「数据库集群方案」
    架构设计之「数据库从主备到主主的高可用方案」
    网络中的「动态路由算法」,你了解吗?
    当你「ping 一下」的时候,你知道它背后的逻辑吗?
    不懂高性能的负载均衡设计?没关系,架构师带你飞
    piwik流量统计系统搭建(apache2.4+piwik+mysql5.6+php5.6.14)
    SQL Server 之 GROUP BY、GROUPING SETS、ROLLUP、CUBE
    CAS 实现单点登录 .NET MVC
  • 原文地址:https://www.cnblogs.com/learnapi/p/7562176.html
Copyright © 2011-2022 走看看