Как указать в <input type="file"> фильтр по расширениям?

antono
На сайте с 12.07.2004
Offline
294
9458

На странице есть форма для закачки файла:

<input type="file">

Когда нажимаем "Обзор" появляется окно выбора файла. Можно ли там сделать чтобы в списке "Тип файлов" указать определенное расширение?

Dreammaker
На сайте с 20.04.2006
Offline
569
#1

насколько знаю никак, разве что каким-то боком задействовать активекс, но это понятно некошерно.

На серверной стороне нужно проверять, расширение (и тип файла).

Shtogrin
На сайте с 02.11.2006
Offline
95
#2

В стандартах есть что-то типа <input type="file" accept="image/jpeg,image/gif,image/x-png">, но поддержки в броузерах пока не встречал

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
SZ
На сайте с 17.08.2005
Offline
63
#3

А через javascript и onclick нельзя реализовать? Настолько глубоко не копал, но может есть какие-то методы, которые выдают расширение выбранного файла?

Чтобы не список файлов ограничивался определенным типом, а при отправке файла несоответствующего типа выдавалось предупреждение.

R
На сайте с 04.11.2005
Offline
113
#4

ответ однозначный - нельзя. вопрос возникает часто, но по соображениям безопасности - никак (оно и понятно - получается, что каким-то образом должен читаться весь список файлов и выбираться только нужные, а это, имхо, да и не имхо - дыра в безопасности)

antono
На сайте с 12.07.2004
Offline
294
#5
Dreammaker:
насколько знаю никак, разве что каким-то боком задействовать активекс, но это понятно некошерно.

На серверной стороне нужно проверять, расширение (и тип файла).

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

robust:
ответ однозначный - нельзя. вопрос возникает часто, но по соображениям безопасности - никак (оно и понятно - получается, что каким-то образом должен читаться весь список файлов и выбираться только нужные, а это, имхо, да и не имхо - дыра в безопасности)

При сохранении файла можно сделать такой фильтр, указав в заголовке

header('Content-Disposition: attachment; filename="file.txt"');

Думал можно и при загрузке...

mymind
На сайте с 07.09.2004
Offline
154
#6

Я сначала понял, что подразумевается обработка содержание input поля, но понял, что ТС ушел дальше.


Когда нажимаем "Обзор" появляется окно выбора файла. Можно ли там сделать чтобы в списке "Тип файлов" указать определенное расширение?

Это окошко диалоговое, которое вызывается браузером. И свойства оного никак не зависят от содержание страницы. Ответ был. Нельзя. Вы можете сделать только фильтрацию содержания поля input при помощи JavaScript или типа файла, что получил сервер.

Обмен криптовалют по выгодному курсу Bitpayes.com / Instabit.pro ( https://bitpayes.com http://instabit.pro )
L
На сайте с 02.12.2006
Offline
28
Lys
#7

Фильтр по расширениям, размерам файлов и т.д. можно сделать только в самом скрипте, в который отсылается форма.

Возьму на продвижение 2-3 сайта. Стоимость оценивается по И.Ашманову (http://www.optimization.ru/articles/seo2007) - по частотности запроса в Рамблере. Собственная методика и П/О для анализа ссылочного ранжирования. Общая паника не волнует!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий