zoukankan      html  css  js  c++  java
  • 图片上传

    页面的写法

    <ul id="warp">
        <li>
            <img id="imgShow_WU_FILE_0" src="front/image/bg.png"/>
            <a href="javascript:;">
                <input type="file" id="up_img_WU_FILE_0">
            </a>
        </li>
    </ul>
    <h3 class="upLoad_more">继续上传</h3>
    <h3 class="upLoad_repeat">重新上传</h3>

    函数的初始化

    //代码整理:懒人之家  www.lanrenzhijia.com
    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();
    }
    
    function file_click(){
        var WARP = document.getElementById('warp');
        var WARP_LI = WARP.getElementsByTagName('li');
        for(var i=0; i<WARP_LI.length;i++){
            new uploadPreview({ UpBtn: "up_img_WU_FILE_"+i, ImgShow: "imgShow_WU_FILE_"+i});        
        }
    }
    //在这里初始化函数,如果动态的添加了html页面的上传,就要重新初始化 window.onload
    = file_click;
  • 相关阅读:
    [转]lftp的致命错误:证书验证:不信任
    github每次push都需要密码以及用户名的解决办法
    Fedora最小化安装后没有ifconfig命令
    [转载]MySql常用命令总结
    chrome浏览器强制采用https加密链接
    红帽系列linux自行配置本地yum源
    linux 下dd命令直接清除分区表(不用再fdisk一个一个的删除啦)
    linux分区工具fdisk的使用
    Java多线程实现......(1,继承Thread类)
    第一篇文章--我为什么要写博客?
  • 原文地址:https://www.cnblogs.com/haonanZhang/p/6293257.html
Copyright © 2011-2022 走看看