Мне нужно загрузить только файл изображения через <input type="file">
тег.
Прямо сейчас, он принимает все типы файлов. Но я хочу ограничить его только конкретными расширениями файлов изображений, которые включают .jpg
и .gif
т. Д.
Как я могу достичь этой функциональности?
Ответы:
Используйте атрибут accept тега input. Таким образом, чтобы принимать только PNG, JPEG и GIF, вы можете использовать следующий код:
Или просто:
Обратите внимание, что это только дает подсказку браузеру относительно того, какие типы файлов отображать пользователю, но это можно легко обойти, поэтому вы всегда должны проверять загруженный файл на сервере.
Он должен работать в IE 10+, Chrome, Firefox, Safari 6+, Opera 15+, но поддержка очень слабая на мобильных устройствах (по состоянию на 2015 г.), и в некоторых отчетах это может фактически помешать некоторым мобильным браузерам загружать что-либо вообще, поэтому не забудьте проверить свои целевые платформы хорошо.
Подробную поддержку браузера см. По адресу http://caniuse.com/#feat=input-file-accept.
источник
accept="file/csv, file/xls"
это действительно ??image/x-png
? Согласно этому списку, это простоimage/png
. iana.org/assignments/media-types/media-types.xhtmlИспользуя это:
работает как в FF, так и в Chrome.
источник
Используйте это так
У меня сработало
https://jsfiddle.net/ermagrawal/5u4ftp3k/
источник
Шаги:
1. Добавьте атрибут accept к входному тегу
2. Подтвердите с помощью javascript
3. Добавьте проверку на стороне сервера, чтобы проверить, действительно ли содержимое имеет ожидаемый тип файла
Для HTML и JavaScript:
Объяснение:
источник
Это может быть достигнуто путем
Но это не очень хороший способ. Вы должны код на стороне сервера, чтобы проверить файл изображения или нет.
Проверьте, является ли файл изображения фактическим изображением или поддельным изображением
Для получения дополнительной информации см. Здесь
http://www.w3schools.com/tags/att_input_accept.asp
http://www.w3schools.com/php/php_file_upload.asp
источник
Вы можете использовать
accept
атрибут для<input type="file">
чтения этой документации http://www.w3schools.com/tags/att_input_accept.aspисточник
Используя type = "file" и accept = "image / *" (или нужный вам формат), разрешите пользователю выбрать файл с определенным форматом. Но вы должны еще раз проверить это на стороне клиента, потому что пользователь может выбрать другой тип файлов. Это работает для меня.
А потом, в вашем сценарии JavaScript
источник
const file: File = imageInput.files[0];
? Кроме того, назначение идентификатора для ввода не делается обычным способом.Если вы хотите загрузить несколько изображений одновременно, вы можете добавить
multiple
атрибут для ввода.источник