У меня были проблемы с пользовательской проверкой на стороне клиента для <input type="file"/>
при использовании поддельной кнопки для ее запуска, и для меня работало решение @Guillaume Bodi (также с opacity: 0;
на chrome)
$("#MyForm").on("click", "#fake-button", function () {
$("#uploadInput").focus().trigger("click");
});
и стиль css для ввода ввода
#uploadInput {
opacity: 0.0;
filter: alpha(opacity=0); /* IE lt 8 */
-ms-filter: "alpha(opacity=0)"; /* IE 8 */
-khtml-opacity: 0.0; /* Safari 1.x */
-moz-opacity: 0.0;
}