• JS 客户端验证文件类型,获取图片信息


    <!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=gb2312" />
    <title>JS 文件大小及类型判断</title>
    <style>
    *{}{ font-size:12px;}
    </style>
    <script language="javascript">
    <!--
    function ShowInfo(sUrl)
    {
        var FSO,F,Ext;
        var Extlist = ".gif.jpg.bmp";
        //FSO = new ActiveXObject("Scripting.FileSystemObject");
        //F = FSO.GetFile(sUrl);
        Ext = GetExt(sUrl);
        if(Extlist.indexOf(Ext)==-1)
            document.getElementById("Info").innerHTML = "扩展名:" + Ext + " 不是图片类型!  原始路径:" + sUrl;
        else{
            document.getElementById("imgs").src = "";
            document.getElementById("imgs").alt = "图片加载中……";
            document.getElementById("imgs").src = sUrl;
            var MyImage = new Image();
            MyImage.src = sUrl;
            document.getElementById("Info").innerHTML = "扩展名:" + Ext + " 合法图片类型!  原始路径:" + sUrl + "<br /> 文件大小:" + MyImage.fileSize + " Bytes  尺寸:" + MyImage.width + "*" + MyImage.height;
        }
    }

    function GetExt(sUrl)
    {
            var arrList = sUrl.split(".");
            return arrList[arrList.length-1];
    }

    function DrawImage(ImgD,w,h)
    {
        var flag = false;
        var MyImage = new Image();
        MyImage.src = ImgD.src;
        if(MyImage.readyState != "complete"){
            return false; //确保图片完全加载
        }
        if(MyImage.width > 0 && MyImage.height > 0){
            flag = true;
            if(MyImage.width / MyImage.height >= w / h){
                if(MyImage.width > w){
                    ImgD.width = w;
                    ImgD.height = (MyImage.height * w) / MyImage.width;
                }else{
                    ImgD.width = MyImage.width;
                    ImgD.height = MyImage.height;
                }
                ImgD.alt = "原始尺寸:" + MyImage.width + "x" + MyImage.height;
            }else{
                if(MyImage.height > h){
                    ImgD.height = h;
                    ImgD.width = (MyImage.width * h) / MyImage.height;
                }else{
                    ImgD.width = MyImage.width;
                    ImgD.height = MyImage.height;
                }
                ImgD.alt = "原始尺寸:" + MyImage.width + "x" + MyImage.height;
            }
        }
    }
    function zoomimg(img)
    {
        var zoom=parseInt(img.style.zoom,10) || 100;
        zoom += event.wheelDelta / 24;
        imgW = img.clientWidth*zoom/100;
        if (zoom>10) img.style.zoom = zoom + "%";

        return false;
    }
    -->
    </script>
    </head>

    <body>
    <form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
    <p>
        <input name="ofile" type="file" id="ofile" onchange="ShowInfo(this.value);" />
    </p>
    <p id="Info"></p>
    <p><img src="#" id="imgs" width="300" height="300"  onmousewheel="return zoomimg(this)" onload="DrawImage(this,300,300)" /></p>
    </form>
    </body>
    </html>

  • 相关阅读:
    es6学习笔记--let和const
    最新数组方法(包括es6)
    es6学习笔记--模板字符串
    版本控制工具--svn和git的使用(三) -----git的使用(2)
    版本控制工具--svn和git的使用(三) -----git的使用(1)
    版本控制工具--svn和git的使用(二) -----SVN的操作
    版本控制工具--svn和git的使用(一) -----版本控制的好处以及分类
    e.preventDefault()和e.stopPropagation()以及return false的作用和区别
    Mybatis之SessionFactory原理
    Mybatis架构简介
  • 原文地址:https://www.cnblogs.com/binaryworms/p/1701586.html
Copyright © 2020-2023  润新知