Я прочитал этот и этот вопрос, который, кажется, предполагает, что файл MIME-типа можно проверить используя javascript на стороне клиента. Теперь я понимаю, что реальная проверка еще должна выполняться на стороне сервера. Я хочу выполнить проверку на стороне клиента, чтобы избежать ненужной потери ресурсов сервера.
Чтобы проверить, можно ли это сделать на стороне клиента, я изменил расширение тестового файла JPEG
на .png
и выберет файл для загрузки. Перед отправкой файла я запрашиваю объект файла с помощью консоли javascript:
document.getElementsByTagName('input')[0].files[0];
Это то, что я получаю в Chrome 28.0:
Файл {webkitRelativePath: ", lastModifiedDate: Вт Окт 16 2012 10:00:00 GMT + 0000 (UTC), имя:" test.png ", введите:" image/png", размер: 500055...}
Показывает тип image/png
, который указывает, что проверка выполняется на основе расширения файла вместо типа MIME. Я пробовал Firefox 22.0, и это дает мне тот же результат. Но согласно спецификация W3C, MIME Sniffing должно быть реализовано.
Можно ли сказать, что нет способа проверить тип MIME с javascript на данный момент? Или я что-то упускаю?