Свойство files объекта <input type='file'> возвращает пустой FileList, если оно реализовано, и в противном случае оно не определено (т.е. оно undefined).
var support = (function(undefined) {
return $("<input type='file'>") // create test element
.get(0) // get native element
.files !== undefined; // check whether files property is not undefined
})();
Ответ 2
Еще один способ проверить - проверить наличие типов File API:
var FileApiSupported = !!('File' in window &&
'FileReader' in window &&
'FileList' in window &&
'Blob' in window);