zoukankan      html  css  js  c++  java
  • javascript 图片上传缩略图预览

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>图片上传缩略图预览</title>
    <script language="JavaScript" type="text/javascript">
        var allowExt = ['jpg', 'gif', 'bmp', 'png', 'jpeg'];
        var preivew = function (file, container) {
            try {
                var pic = new Picture(file, container);
            }
            catch (e) {
                alert(e);
            }
        }
        //缩略图类定义
        var Picture = function (file, container) {
            try {
                var height = 0,
                widht = 0,
                ext = '',
                size = 0,
                name = '',
                path = '';
                var self = this;
                if (file)
                {
                    name = file.value;
                    if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
                        var browser = navigator.appName;
                        var b_version = navigator.appVersion
                        var version = b_version.split(";");
                        var trim_Version = version[1].replace(/[ ]/g, "");
    
                        if (trim_Version == "MSIE6.0") {
                            file.select();
                            //path = document.selection.createRange().text;
                            path = window.URL.createObjectURL(file.files[0]);
                        } else if (trim_Version == "MSIE7.0") {
                            file.select();
                            //path = document.selection.createRange().text;
                            path = window.URL.createObjectURL(file.files[0]);
                        } else if (trim_Version == "MSIE8.0") {
                            file.select();
                            //path = document.selection.createRange().text;
                            path = window.URL.createObjectURL(file.files[0]);
                        } else {
                            file.select();
                            //file.blur();
                            //path = document.selection.createRange().text;
                            path = window.URL.createObjectURL(file.files[0]);
                        }
                    }
                    else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
                        if (file.files) {
                            path = file.files.item(0).getAsDataURL();
                        } else {
                            path = file.value;
                        }
                    }
                }
                else {
                    throw "bad file";
                }
                ext = name.substr(name.lastIndexOf("."), name.length);
                if (container.tagName.toLowerCase() != 'img') {
                    throw "container is not a valid img label";
                    container.visibility = 'hidden';
                }
                container.src = path;
                container.alt = name;
                container.style.visibility = 'visible';
                height = container.height;
                widht = container.widht;
                size = container.fileSize;
                this.get = function (name) {
                    return self[name];
                }
                this.isValid = function () {
                    if (allowExt.indexOf(self.ext) !== -1) {
                        throw 'the ext is not allowed to upload';
                        return false;
                    }
                }
            }
            catch (e) {
                alert("R:"+e);
            }
    
            /***
            *读取,图片为流文件
            ***/
            /*
            var reader = new FileReader();
             reader.onload = function(e) 
             {
                   console.log(e.target.result);
                   alert(e.target.result);
                   var fromData = new FormData();
                   fromData.append("base64", e.target.result);
             }
             reader.readAsDataURL(document.querySelector("input[type=file]").files[0]);
             */
        }
    </script>
    </head>
    <body>
    <div class='previewDemo'>
          <input id="file" type="file" onchange="preivew(this, document.getElementById('img'));" />
        <br />
          <img id="img" style="visibility:hidden" height="100px" width="100px" />
        
    </div>
    </body>
    </html>
  • 相关阅读:
    集合使用技巧
    集合总结
    Eclipse快捷键大全
    集合去掉重复元素的两种方式
    Collection集合的三种遍历方式
    win基本流程
    url
    StringBuffer7
    StringBuffer8
    StringBuffer6
  • 原文地址:https://www.cnblogs.com/rinack/p/3299243.html
Copyright © 2011-2022 走看看