Загрузка нескольких файлов с ограничением размера в Javascript - PullRequest
1 голос
/ 29 марта 2010

Может кто-нибудь сказать мне, как я могу загрузить несколько файлов с ограничением размера в JavaScript.

Ответы [ 2 ]

4 голосов
/ 29 марта 2010

Вы не можете.

Вам нужно будет использовать альтернативу, например, загрузчик на основе Flash, такой как SWFUpload .

2 голосов
/ 29 марта 2010

Несколько файлов, которые вы можете сделать, через несколько <input type="file"> элементов. HTML5 (как минимум) также предоставляет атрибут multiple для одного элемента <input type="file">, который поддерживается как минимум в Chrome и Firefox (но не в IE).

Ограничение размера файла, которое вы не можете сделать с помощью JavaScript в браузере ( пока , за исключением Firefox 3.6; см. Ниже), потому что вы не можете получить доступ к файловой системе и поэтому понятия не имеете, насколько большой файл до отправки формы. Все, что вы можете сделать - это (на стороне сервера) ограничить размер разрешенных запросов и (если вы установите этот лимит, превышающий размер отдельного файла, который вы хотите разрешить), выбросить все файлы, размер которых превышает этот лимит. (Не идеально.) Как сказал Пекка , вы можете использовать альтернативы, но, конечно, у них могут быть свои проблемы (например, поддержка Flash в Linux).

Так что я имею в виду под "пока"? У пользователей HTML5 появился новый DOM API: File API . И он делает именно то, что говорит, предоставляя JavaScript доступ к выбранным файлам, которые пользователь специально предоставил доступ к через элемент <input type="file">. Пока что я верю, что только Firefox 3.6+ поддерживает его (это инициатива Mozilla, принятая W3C), но есть разговоры о том, что Chrome поддержит его ко второму кварталу 2010 года (так, в любую минуту), и я не могу представить Safari и Opera быть далеко позади (если они уже не там). Будет интересно посмотреть, сможет ли Microsoft перейти на подножку HTML5 и начать восстанавливать свое некогда передовое положение в веб-технологиях. («Да? Майкрософт, ведущие веб-технологии?», Я слышал, вы спрашиваете. Да, это люди, которые когда-то давали вам самый быстрый и наименее глючный браузер для Windows. Это люди, который изобрел Ajax. Это так легко забыть. Они полностью потеряли свой путь в течение нескольких лет - и потеряли весь кредит, который у них когда-то был - но было время ... .)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...