.input-group{
position: relative;
display: table;
border-collapse: separate;
width: 90%;
}
.input-group-btn{
vertical-align: middle;
}
.btn-file{
position: relative;
overflow: hidden;
}
.btn-file input[type=file]{
position: absolute;
top: 0;
right: 0;
min-width: 100%;
min-height: 100%;
text-align: right;
filter:alpha(opacity=0);
-moz-opacity:0;
opacity: 0;
background: 0 0;
cursor: inherit;
display: block;
position: relative;
display: table;
border-collapse: separate;
width: 90%;
}
.input-group-btn{
vertical-align: middle;
}
.btn-file{
position: relative;
overflow: hidden;
}
.btn-file input[type=file]{
position: absolute;
top: 0;
right: 0;
min-width: 100%;
min-height: 100%;
text-align: right;
filter:alpha(opacity=0);
-moz-opacity:0;
opacity: 0;
background: 0 0;
cursor: inherit;
display: block;
}
<div class="form-group" id="file_div">
<label class="col-xs-4 control-label"><spring:message
code="select.file" /><font color="red">*</font></label>
<div class="col-xs-8">
<div class="input-group" style="float: left;">
<div id="file_echo_div" class="form-control"></div>
<div class="input-group-btn">
<div class="btn btn-primary btn-file">
<span><spring:message code="browse" /></span>
<input type="file" id="file" name="file" οnchange="setFileEcho(this.value)"/>
</div>
</div>
</div>
<input type="hidden" name="file_echo_hidden" id="file_echo_hidden" />
</div>
</div>