HTML
<div class="container">
    <form class="row justify-content-md-center">
    	<div class="col-6 offset-3">
    		<div class="form-group">
    			<div class="text-center">
    			    <label for="avatar">
    			        <img class="img-thumbnail" id="preview-avatar" src="http://2.gravatar.com/avatar/671a000122a0b4f448e71f69b8ba4e22?s=192&d=wavatar" alt="JossMP">
    		        </label>
    		    </div>
    			<div class="custom-file">
    				<input type="file" class="custom-file-input" id="avatar" name="avatar" data-target="preview-avatar" accept="image/png, image/jpeg">
    				<label class="custom-file-label" for="avatar">default.png</label>
    			</div>
    		</div>
    	</div>
    </form>
</div>CSS
.custom-file {
    position: relative;
    display: inline-block;
    width: 100%;
    height: calc(2.25rem + 2px);
    margin-bottom: 0;
}
.custom-file-input {
    position: relative;
    z-index: 2;
    width: 100%;
    height: calc(2.25rem + 2px);
    margin: 0;
    opacity: 0;
}
.custom-file-label {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    height: calc(2.25rem + 2px);
    padding: .375rem .75rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: .25rem;
}
.custom-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: calc(calc(2.25rem + 2px) - 1px * 2);
    padding: .375rem .75rem;
    line-height: 1.5;
    color: #495057;
    content: "Examinar";
    background-color: #e9ecef;
    border-left: 1px solid #ced4da;
    border-radius: 0 .25rem .25rem 0;
}
.img-thumbnail
{
    width: 100%;
}JS
// FileInput
$(function(){
	$(document).on('change', ':file', function()
	{
		var input = $(this), numFiles = input.get(0).files ? input.get(0).files.length : 1;
        var label = input.val().replace(/\\/g, '/').replace(/.*\//, '');
		// Vista Previa
		target = input.data("target");
		if( target )
		{
			var reader = new FileReader();
			reader.onload = function(file)
			{
				var fileContent = file.target.result;
				$("#" + target).attr("src", fileContent);
			}
			reader.readAsDataURL(this.files[0]);
		}
		input.trigger('fileselect', [numFiles, label]);
		
		var input2 = $(this).siblings('.custom-file-label');
		var log = numFiles > 1 ? numFiles + ' archivos seleccionados' : label;
		if( input2.length )
		{
			input2.text(log);
		}
		else
		{
			if( log ) console.log( log );
		}
	});
});
						 
						
					
Deja tu comentario