Подтвердить что ты не робот

Как сделать <input type="file"/"> принимать только эти типы?

Я хочу, чтобы мой загрузчик разрешал только эти типы:

  • doc, docx.
  • xls, xlsx.
  • ppt, pptx.
  • TXT.
  • PDF.
  • Типы изображений.

Как я могу это достичь? Что я должен добавить в атрибут accept? Благодарим за помощь.

ИЗМЕНИТЬ!!!

У меня есть еще одна вещь, чтобы спросить. Когда всплывающее окно появляется для использования для выбора файла, в правом нижнем углу находится раскрывающийся список, содержащий все разрешенные файлы. В моем случае список будет длинным. Я вижу в списке, есть опция All Supported Types. Как я могу сделать его выбранным по умолчанию и устранить все остальные параметры?

Любая помощь будет оценена. Спасибо.

4b9b3361

Ответ 1

Значением атрибута accept является, как и HTML5 LC, список элементов, разделенных запятыми, каждый из которых является определенным типом носителя, например image/gif или обозначение типа image/*, которое относится ко всем типам image или расширению имени файла, например .gif. IE 10+ и Chrome поддерживают все эти функции, тогда как Firefox не поддерживает расширения. Таким образом, самым безопасным способом является использование типов мультимедиа и обозначений типа image/*, в этом случае

<input type="file" name="foo" accept=
"application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint,
text/plain, application/pdf, image/*">

если я правильно понимаю намерения. Помните, что браузеры могут не распознавать имена типов носителей точно так, как указано в авторитетном реестре, поэтому необходимо провести некоторое тестирование.

Ответ 2

Использование Как ниже

<input type="file" accept=".xlsx,.xls,image/*,.doc, .docx,.ppt, .pptx,.txt,.pdf" />

Ответ 3

Использовать атрибут accept с MIME_type как значения

<input type="file" accept="image/gif, image/jpeg" />

Ответ 4

для файлов PowerPoint и PDF:

<html>
<input type="file" placeholder="Do you have a .ppt?" name="pptfile" id="pptfile" accept="application/pdf,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.slideshow,application/vnd.openxmlformats-officedocument.presentationml.presentation"/>
</html>

Ответ 5

Как указано в w3schools:

audio/* - Все звуковые файлы принимаются

video/* - Все видеофайлы принимаются

image/* - Все файлы изображений принимаются

MIME_type - действительный тип MIME без параметров. Посмотрите на IANA MIME типы для полного списка стандартных типов MIME

Ответ 6

ВАЖНОЕ ОБНОВЛЕНИЕ:

Из-за использования только приложения /msword, application/vnd.ms-excel, application/vnd.ms-powerpoint... допускается только до 2003 г. MS-продуктов, а не новее. Я нашел это:

application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.slideshow, application/vnd.openxmlformats-officedocument.presentationml.presentation

И это включает новые. Для других файлов вы можете получить MIME TYPE в своем файле таким образом (pardon the lang) (в типах списка MIME их нет):

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

Вы можете выбрать и скопировать тип контента

Ответ 7

для изображения напишите это

<input type=file accept="image/*">

Для других, Вы можете использовать атрибут accept в своей форме, чтобы предлагать браузеру ограничить определенные типы. Тем не менее, вы захотите повторно проверить свой серверный код, чтобы убедиться. Никогда не доверяйте тому, что клиент отправляет вам.