Неправильный Mime-тип загруженного файла

#html #iis #file-upload

#HTML #iis #файл-загрузка

Вопрос:

Мой html выглядит следующим образом:

 <input type="file" id="myfile" />
  

Мой код javascript:

 var myfile = $('#myfile');
  

При попытке загрузить .doc файл и отладке я вижу тип: type: "application/msword"

При выполнении того же самого, но на этот раз для .rar при отладке тип является пустой строкой. Странно, потому что в моем локальном IIS у меня правильный тип, а также в Web.Config. Я также тестировал с .abc той же проблемой.

Протестировано в Google Chrome и Microsoft Edge.

Есть идеи?

введите описание изображения здесь

введите описание изображения здесь

Ответ №1:

Тип содержимого загружаемого файла определяется браузером, а не сервером, поэтому ваши настройки IIS не имеют значения.

За исключением использования File API для чтения файла и использования XHR или fetch для его отправки (с большим количеством перехватов типа содержимого в середине), тип содержимого, выбранный браузером, находится вне вашего контроля.

Комментарии:

1. Итак, если мне нужно заблокировать загрузку пользователем какого-либо типа файла (например, .rar), нужно ли мне извлечь расширение файла для проверки (код javascript)? Я знаю, что должен выполнить проверку безопасности на стороне сервера, но я бы хотел, чтобы пользователь не загружал файл определенного типа немедленно. Спасибо.