Просмотр поста

.
ramzes
function selectFile(input){
    var getName = $(input).val();
    var viewName = $(input).next('span.vf');
    var filepatch = getName.split('\\');
    var fileName = filepatch[filepatch.length - 1];
    if($(input).attr('accepted')!=undefined && $(input).attr('accepted')!=''){
        var EXT = fileName.split('.');
        var FileEXT = EXT[EXT.length-1].replace('jpeg', 'jpg');
        var Accepted = $(input).attr('accepted').replace(' ', '');
        var AcceptedEXT = Accepted.split(',');
        var ValidEXT = false;
        for(s=0; s < AcceptedEXT.length; s++){
            if(AcceptedEXT[s].replace('jpeg', 'jpg')==FileEXT){
                ValidEXT = true;
            }
        }
    }else{
        var ValidEXT = true;
    }


    if(ValidEXT==true){
        if(input.files[0].size!=undefined && input.files[0].size!='' && input.files[0].size > 0){
            var FileSize = input.files[0].size;

            if($(input).attr('max-size')!=undefined && $(input).attr('max-size')!=''){
                var Size = $(input).attr('max-size').split(' ');
                if(Size[0]==parseInt(Size[0])){
                    if(Size[1]=='Gb'){
                        var LimitSize = (1024 * 1024 * 1024) * parseInt(Size[0]);
                    }else if(Size[1]=='Mb'){
                        var LimitSize = (1024 * 1024) * parseInt(Size[0]);
                    }else if(Size[1]=='Kb'){
                        var LimitSize = 1024 * parseInt(Size[0]);
                    }else{
                        var LimitSize = parseInt(Size[0]);
                    }
                    if(FileSize <= LimitSize){
                        var ValidSIZE = true;
                    }
                }else{
                    var ValidSIZE = true;
                }
            }else{
                var ValidSIZE = true;
            }



            if(FileSize > (1024 * 1024)){
                var StringSize = (FileSize / (1024 * 1024)).toFixed(2)+'Mb';
            }else if(FileSize > 1024){
                var StringSize = (FileSize / 1024).toFixed(1)+'Kb';
            }else{
                var StringSize = FileSize+'b';
            }

            var ViewFileSize = '<span class="upload-v-f-s">'+StringSize+'</span>';
        }else{
            var ViewFileSize = '';
            var ValidSIZE = true;
        }

        if(ValidSIZE==true){
            viewName.html(ViewFileSize+fileName);
        }else{
            $(input).val('');
            viewName.html('');
            alert('Недопустимый размер файла!');
        }

    }else{
        $(input).val('');
        viewName.html('');
        alert('Недопустимый тип файла!');
    }

}

и выбор файла типа
<input class="screen" accepted="gif, jpg, png" max-size="50 Kb" type="file" name="screen" placeholder="Обложка"  onchange="selectFile(this)" />