background gradient
s2 - IT photo №27611

Как фильтровать input type file по расширению?

Мы собрали методы фильтрации тега input type file с примерами!

Атрибут accept в теге <input type="file" accept="image/*"> – это один из инструментов веб-разработки, который позволяет фильтровать файлы, которые пользователь может выбирать для загрузки на сервер.

База атрибута accept в <input type="file">:

Атрибут accept устанавливает фильтр на типы файлов в окне выбора файла. Можно установить разрешение файлов или их MIME-типы, например: image/jpeg. Рассмотрим несколько примеров использования этого атрибута.

Как разрешить только один тип файлов?

Разрешить выбор только файлов PNG в file input:

<form action="" method="post" enctype="multipart/form-data">
	<label>Файл PNG:</label>
	<input type="file" name="file" accept=".png">
</form>

Как выбирать несколько расширений?

Выбор файлов с расширениями JPG, JPEG, PNG:

<form action="" method="post" enctype="multipart/form-data">
  <label>Файл JPG или PNG:</label>
  <input type="file" name="file" accept=".jpg,.jpeg,.png">
</form>

Как ограничить по MIME-типу в file input?

Так как у файлов с одним MIME-типом может быть множество расширений, проще сделать фильтровку по нему, например text/plain:

<form action="" method="post" enctype="multipart/form-data">
  <label>Текстовые файлы:</label>
  <input type="file" name="file" accept="text/plain">
</form>

Как фильтровать по группе файлов в input file?

HTML5 ввел новые атрибуты для различных групп файлов: audio/*, video/*, image/*. Разрешим выбирать любые изображения в file input:

<form action="" method="post" enctype="multipart/form-data">
  <label>Любые изображение:</label>
  <input type="file" name="file" accept="image/*">
</form>

Какая поддержка в браузерах accept?

При использовании атрибута accept важно учитывать его поддержку в различных браузерах. Большинство современных браузеров поддерживают этот атрибут. Узнать какие браузеры поддерживают атрибут accept в input file можно в табличке ниже.


Атрибут accept удобен для управления типами файлов, которые пользователь может выбрать. Создавайте удобные интерфейсы для загрузки файлов, без танцов с бубном jquery/javascript.

Часто задаваемые вопросы (FAQ)

Какие типы файлов можно указать в атрибуте accept?

В атрибуте accept можно указывать расширения файлов, MIME-типы или группы файлов, в зависимости от потребностей.

  • Расширение: .jpg,
    MIME-тип: image/jpeg
  • Расширение: .png,
    MIME-тип: image/png
  • Расширение: .gif,
    MIME-тип: image/gif
  • Расширение: .pdf,
    MIME-тип: application/pdf
  • Расширение: .doc, .docx,
    MIME-тип: application/msword,
    application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • Расширение: .xls, .xlsx,
    MIME-тип: application/vnd.ms-excel,
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • Расширение: .ppt, .pptx,
    MIME-тип: application/vnd.ms-powerpoint,
    application/vnd.openxmlformats-officedocument.presentationml.presentation
  • Расширение: .txt,
    MIME-тип: text/plain
  • Расширение: .csv,
    MIME-тип: text/csv
  • Расширение: .mp3,
    MIME-тип: audio/mpeg
  • Расширение: .mp4,
    MIME-тип: video/mp4
  • Расширение: .zip,
    MIME-тип: application/zip
  • Расширение: .tar,
    MIME-тип: application/x-tar
  • Расширение: .json,
    MIME-тип: application/json
  • Расширение: .html, .htm,
    MIME-тип: text/html
  • Расширение: .svg,
    MIME-тип: image/svg+xml
  • Расширение: .xml,
    MIME-тип: application/xml

Могу ли я указать несколько MIME-типов в атрибуте accept?

Да, можно указывать несколько MIME-типов, разделяя их запятыми, например: accept="audio/mp3, video/mp4".

Могу ли я использовать атрибут accept для ограничения размера файлов?

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

Добавить комментарий

Навигация:

Похожие

1728319192_ms_class-singular.php_-_arz-wiki_-_Visual_Studio_Code-min - IT photo №28697
4 1
07 Окт 2024

Что делать, если Rank Math обрезает описание и заголовок?

Я ипользовал шорткод с большим количеством параметров, из-за чего Rank Math обрезал description и title. В итоге шорткод был обрезан а эффективность SEO снизилась. Это произошло из-за ограничений по длине, которые плагин устанавливает для соответствия рекомендациям Google. Как изменить ограничение? Можно изменить ограничение на длину вручную: Откройте seo-by-rank-math /includes /frontend /paper /class-singular.php. Отредактируйте строку: Измените […]

SEO
1727944996_ms_rtx_2_тыс_изображений_найдено_в_Яндекс_Картинках_--min - IT photo №28687
9 1
03 Окт 2024

Какие видеокарты Nvidia входят в топ-30 для игр?

Nvidia уверенно лидирует на рынке видеокарт. По сентябрьскому отчету Steam, все позиции в топ-30 занимают исключительно решения от Nvidia. AMD не успевает за конкурентом, несмотря на постоянные попытки выйти на новый уровень. Открыть таблицу стим Видеокарты Май Июнь Июль Авг Сент Октябрь NVIDIA GeForce RTX 3060 6.19% 5.66% 5.88% 5.51% 5.86% +0.35% NVIDIA GeForce RTX […]

Новости
imgpreview - IT photo №28121
60 3
14 Дек 2023

Как сделать значок рубля на CSS?

В 2013 году Российский рубль получил свой уникальный символ, став одной из последних крупных валют, обладающих собственной символикой. Как сделать знак рубля в HTML? Иконку рубля уже добавили во многие шнифты и в HTML коды. Чтобы в html отобразить знак рубля, используйте один из кодов: &#x20bd; или &#8381; Этот знак активно используют интернет магазины, банки […]

CSSHTMLТексты и символы
ascii-min - IT photo №27974
513 4
26 Ноя 2023

ASCII: Полная таблица кодов 2024

ASCII (American Standard Code for Information Interchange) это стандартная система кодирования символов, предназначенная для представления текста на компьютере. Этот стандарт включает в себя различные таблицы, отражающие разнообразные категории символов. В данной статье мы рассмотрим три важные таблицы ASCII: Управляющие символы, Печатные символы и Расширенные символы в кодировке Win-1251 кириллица. Управляющие символы Управляющие символы – это […]

HTMLТексты и символы
chrome_cSjvt8l17u-min - IT photo №27889
356 5
14 Ноя 2023

Как в яндекс картах добавить событие при клике?

В этой заметке освоим клик по метке на яндекс картах. Код ниже использует библиотеку Яндекс.Карт (Yandex Maps API) для создания карты и отслеживания события клика по метке. Давайте разберем код по шагам: :  ждем полную загрузку API перед вызовом функции : Эта функция содержит код инициализации карты, создания поинтов и установки события клика. : Здесь […]

HTMLJavaScriptЯндекс
checkbox - jquery examples
227 5
10 Ноя 2023

Работа с checkbox на jquery

Мы подготовили для вас сборник примеров работы jquery с checkbox. Как проверить состояние checkbox? Если вы хотите проверить состояние чекбокса, просто используйте свойство checked. Например: Для определения состояния чекбокса можно воспользоваться свойством checked. Если значение этого свойства равно true, то чекбокс отмечен, иначе — не отмечен. Как отменить и снять checkbox? Чтобы снять галочку с […]

checkboxJQuery