Это, вероятно, лучший ответ, учитывая проблемы с перекрестным браузером.
CSS:
#file {
opacity: 0;
width: 1px;
height: 1px;
}
JS:
$(".file-upload").on('click',function(){
$("[name='file']").click();
});
HTML :
<a class="file-upload">Upload</a>
<input type="file" name="file">