文件上传

;(function($){

    $.fn.upload=function(opt){
        var _default={
            "type":"pic",
            "style":1
        }
        var _setting=$.extend({},_default,opt)
        var fileWrapper=$(this).find(".file-wrapper"),
            upBtn=$(this).find(".up"),
            remove=$(this).find(".remove"),
            fileField=$(this).find("input[type=file]");
            fileField.change(function(){
                var filepath = $(this).val();
                var extStart = filepath.lastIndexOf(".");
                var ext = filepath.substring(extStart, filepath.length).toUpperCase();
                var _this=$(this);
                if (ext != ".BMP" && ext != ".PNG" && ext != ".GIF" && ext != ".JPG" && ext != ".JPEG") {
                    alert("图片限于bmp,png,gif,jpeg,jpg格式");
                    return false;
                } else {
                    if(_setting.type=="filename" || !window.FileReader || (/msie/i.test(navigator.userAgent) && !window.opera)){
                           fileWrapper.find("input").val(filepath);
                    }else{
                        var file = this.files[0];
                        var reader = new FileReader();
                        reader.onload = function () {
                           // 通过 reader.result 来访问生成的 DataURL
                           var url = reader.result;
                           fileWrapper.find("img").attr("src",url);
                        };
                        reader.readAsDataURL(file);
                    }
                    if(_setting.style==2){    
                       remove.show();
                       upBtn.hide();
                    }
                }
            })

             remove.on("click",function(){
                 if(_setting.type=="filename"){
                     fileWrapper.find("input").val("");
                 }else{
                     fileWrapper.find("img").attr("src","");
                 }
                 if(_setting.style==2){    
                     upBtn.show();
                     $(this).hide();
                 }
             })

    }

})(jQuery);

原文地址:https://www.cnblogs.com/vellemo/p/6340069.html