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.

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

Навигация:

Похожие

Фото инструкция по отключению ECH в Cloudflare (TLS v3)
27 1
06 Ноя 2024

Как в CloudFlare отключить ECH

Интернет заблокирован: как Cloudflare и ECH столкнулись с Роскомнадзором Интернет в росссии столкнулся с глобальной блокировкой — тысячи сайтов с ECH перестали открываться в россии. Что такое ECH и зачем оно нужно? ECH (Encrypted Client Hello) — это технология, позволяющая шифровать трафик и скрывать доменные имена от провайдеров. Включение ECH на серверах Cloudflare помогло пользователям […]

SEOНовости
1728319192_ms_class-singular.php_-_arz-wiki_-_Visual_Studio_Code-min - IT photo №28697
27 3
07 Окт 2024

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

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

SEO
imgpreview - IT photo №28121
69 3
14 Дек 2023

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

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

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

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

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

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

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

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

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

Работа с checkbox на jquery

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

checkboxJQuery