2010-04-30 2 views
3

Есть ли способ предотвратить выбор пользователем файла, который не является указанным типом файла, когда они браузера для файла на своем компьютере? Например, когда пользователь просматривает загрузку файла изображения, я бы хотел, чтобы они видели только изображения (jpg, png, ect.), Которые меньше 20 МБ. Это что-то, что можно сделать с помощью asp.net mvc и jquery или мне нужно использовать flash или java-апплет?ввод файлов - предотвращение выбора определенных типов файлов и размер

ответ

2

Попробуйте Plupload: http://plupload.com/

Он поддерживает усовершенствованную загрузку с Flash, Silverlight, HTML5, Gears и больше в зависимости от WHATS имеющейся клиентской стороны. HTML5-браузеры пока не поддерживают фильтры файлов, но в соответствии с сайтом, который они должны в будущем.

1

Единственный способ контролировать выбор файлов - использовать загрузчик с флэш-памятью. В зависимости от ваших обстоятельств это может стоить того.

Я рекомендую SWFUpload. Я обнаружил, что реализация является более надежной альтернативой, такой как поддержка Uploadify, а поддержка и отзывчивость - все вокруг.

Удачи.

+0

Спасибо за комментарий! Я надеюсь, что есть способ без вспышки, но если нет других вариантов, мне, возможно, придется это использовать. – Victor

0

В соответствии с http://www.cs.tut.fi/~jkorpela/forms/file.html#filter, хотя есть поддержка во входном теге, чтобы дать браузеру подсказку для типа файла, который вы хотите загрузить, в форме атрибута accept, очень мало, если какие-либо браузеры действительно обращают внимание на этот атрибут при представлении диалогового окна загрузки. Это печально, потому что этот атрибут существует довольно давно.

Я согласен с Sky Sanders на этом. Используйте Flash-загрузчик, если вы хотите предоставить фильтр файлов.

0

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

var myFiles = document.getElementById('myFileInput'); 
for(xi=0;xi<myFiles.files.length;xi++) 
{ 
controlThat(myFiles.files[xi].fileName,myFiles.files[xi].mediaType); 
} 

В функции ControlThat вы можете проверить, какой тип файла вы хотите продолжить, или предупредить ваши уведомления.

Смежные вопросы