#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)? Я знаю, что должен выполнить проверку безопасности на стороне сервера, но я бы хотел, чтобы пользователь не загружал файл определенного типа немедленно. Спасибо.