zoukankan      html  css  js  c++  java
  • input上传图片 显示预览信息

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>uploadPreview演示</title>
        <script src="uploadPreview.js" type="text/javascript"></script>
        <script>
           window.onload = function () { 
                new uploadPreview({ UpBtn: "up_img", DivShow: "imgdiv", ImgShow: "imgShow" });
            }
        </script>
    </head>
    <body>
        <div id="imgdiv"><img id="imgShow" width="100" height="100" /></div>
        <input type="file" id="up_img" />
    </body>
    </html>
    var uploadPreview = function(setting) {
        /*
        *this(当前对象)
        */
        var _self = this;
        /*
        *判断为null或者空值
        */
        _self.IsNull = function(value) {
            if (typeof (value) == "function") { return false; }
            if (value == undefined || value == null || value == "" || value.length == 0) {
                return true;
            }
            return false;
        }
        /*
        *:默认配置
        */
        _self.DefautlSetting = {
            UpBtn: "",
            DivShow: "",
            ImgShow: "",
            Width: 100,
            Height: 100,
            ImgType: ["gif", "jpeg", "jpg", "bmp", "png"],
            ErrMsg: "选择文件错误,图片类型必须是(gif,jpeg,jpg,bmp,png)中的一种",
            callback: function() { }
        };
        /*
        *读取配置
        */
        _self.Setting = {
            UpBtn: _self.IsNull(setting.UpBtn) ? _self.DefautlSetting.UpBtn : setting.UpBtn,
            DivShow: _self.IsNull(setting.DivShow) ? _self.DefautlSetting.DivShow : setting.DivShow,
            ImgShow: _self.IsNull(setting.ImgShow) ? _self.DefautlSetting.ImgShow : setting.ImgShow,
            Width: _self.IsNull(setting.Width) ? _self.DefautlSetting.Width : setting.Width,
            Height: _self.IsNull(setting.Height) ? _self.DefautlSetting.Height : setting.Height,
            ImgType: _self.IsNull(setting.ImgType) ? _self.DefautlSetting.ImgType : setting.ImgType,
            ErrMsg: _self.IsNull(setting.ErrMsg) ? _self.DefautlSetting.ErrMsg : setting.ErrMsg,
            callback: _self.IsNull(setting.callback) ? _self.DefautlSetting.callback : setting.callback
        };
        /*
        *获取文本控件URL
        */
        _self.getObjectURL = function(file) {
            var url = null;
            if (window.createObjectURL != undefined) {
                url = window.createObjectURL(file);
            } else if (window.URL != undefined) {
                url = window.URL.createObjectURL(file);
            } else if (window.webkitURL != undefined) {
                url = window.webkitURL.createObjectURL(file);
            }
            return url;
        }
        /*
        *绑定事件
        */
        _self.Bind = function() {
            document.getElementById(_self.Setting.UpBtn).onchange = function() {
                if (this.value) {
                    if (!RegExp(".(" + _self.Setting.ImgType.join("|") + ")$", "i").test(this.value.toLowerCase())) {
                        alert(_self.Setting.ErrMsg);
                        this.value = "";
                        return false;
                    }
                    if (navigator.userAgent.indexOf("MSIE") > -1) {
                        try {
                            document.getElementById(_self.Setting.ImgShow).src = _self.getObjectURL(this.files[0]);
                        } catch (e) {
                            var div = document.getElementById(_self.Setting.DivShow);
                            this.select();
                            top.parent.document.body.focus();
                            var src = document.selection.createRange().text;
                            document.selection.empty();
                            document.getElementById(_self.Setting.ImgShow).style.display = "none";
                            div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
                            div.style.width = _self.Setting.Width + "px";
                            div.style.height = _self.Setting.Height + "px";
                            div.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src;
                        }
                    } else {
                        document.getElementById(_self.Setting.ImgShow).src = _self.getObjectURL(this.files[0]);
                    }
                    _self.Setting.callback();
                }
            }
        }
        /*
        *执行绑定事件
        */
        _self.Bind();
    }
    uploadPreview.js
    /*
    *插件作者:周祥
    *插件介绍:图片上传本地预览插件
    *插件网站:http://jquery.decadework.com
    *作  者QQ:200592114
    */
    var uploadPreview = function(setting) { var _self = this; _self.IsNull = function(value) { if (typeof (value) == "function") { return false; } if (value == undefined || value == null || value == "" || value.length == 0) { return true }; return false; }; _self.DefautlSetting = { UpBtn: "", DivShow: "", ImgShow: "", Width: 100, Height: 100, ImgType: ["gif", "jpeg", "jpg", "bmp", "png"], ErrMsg: "选择文件错误,图片类型必须是(gif,jpeg,jpg,bmp,png)中的一种", callback: function() { } }; _self.Setting = { UpBtn: _self.IsNull(setting.UpBtn) ? _self.DefautlSetting.UpBtn : setting.UpBtn, DivShow: _self.IsNull(setting.DivShow) ? _self.DefautlSetting.DivShow : setting.DivShow, ImgShow: _self.IsNull(setting.ImgShow) ? _self.DefautlSetting.ImgShow : setting.ImgShow, Width: _self.IsNull(setting.Width) ? _self.DefautlSetting.Width : setting.Width, Height: _self.IsNull(setting.Height) ? _self.DefautlSetting.Height : setting.Height, ImgType: _self.IsNull(setting.ImgType) ? _self.DefautlSetting.ImgType : setting.ImgType, ErrMsg: _self.IsNull(setting.ErrMsg) ? _self.DefautlSetting.ErrMsg : setting.ErrMsg, callback: _self.IsNull(setting.callback) ? _self.DefautlSetting.callback : setting.callback }; _self.getObjectURL = function(file) { var url = null; if (window.createObjectURL != undefined) { url = window.createObjectURL(file); } else if (window.URL != undefined) { url = window.URL.createObjectURL(file); } else if (window.webkitURL != undefined) { url = window.webkitURL.createObjectURL(file); }; return url; }; _self.Bind = function() { document.getElementById(_self.Setting.UpBtn).onchange = function() { if (this.value) { if (!RegExp(".(" + _self.Setting.ImgType.join("|") + ")$", "i").test(this.value.toLowerCase())) { alert(_self.Setting.ErrMsg); this.value = ""; return false }; if (navigator.userAgent.indexOf("MSIE") > -1) { try { document.getElementById(_self.Setting.ImgShow).src = _self.getObjectURL(this.files[0]); } catch (e) { var div = document.getElementById(_self.Setting.DivShow); this.select(); top.parent.document.body.focus(); var src = document.selection.createRange().text; document.selection.empty(); document.getElementById(_self.Setting.ImgShow).style.display = "none"; div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)"; div.style.width = _self.Setting.Width + "px"; div.style.height = _self.Setting.Height + "px"; div.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src; } } else { document.getElementById(_self.Setting.ImgShow).src = _self.getObjectURL(this.files[0]); }; _self.Setting.callback(); } } }; _self.Bind(); }
    uploadPreview.min.js
  • 相关阅读:
    1012每日博客
    1011每日博客
    108每日博客
    1013每日博客
    1015每日博客
    写几个关于sql server的例子
    正则表达式实例
    gridview 选中行变色
    ASP.NET跨页面传值技巧
    关于不同电脑Outlook同步
  • 原文地址:https://www.cnblogs.com/dongxiaolei/p/6043742.html
Copyright © 2011-2022 走看看