Выбор нескольких файлов для загрузки на веб-странице

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

В качестве альтернативы, можно ли разрешить пользователю выбирать несколько файлов в диалоговом окне «Файл / Открыть» с помощью щелчка, удерживая нажатой клавишу «Shift» и «Ctrl», и перечислять их?

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

Я не могу использовать Flash или какой-либо другой бинарный плагин, но jQuery в порядке. Мне нужно поддерживать IE7 +, Firefox и Safari.


person Robert Harvey    schedule 22.09.2009    source источник
comment
Пожалуйста, проверьте этот вопрос stackoverflow.com/questions/1222330/ и мой ответ stackoverflow.com/questions/1222330/   -  person Amr Elgarhy    schedule 22.09.2009
comment
Похоже, для этого требуется вспышка.   -  person Robert Harvey    schedule 22.09.2009
comment
да потому что без вспышки, silverlight или activex не обойтись   -  person Amr Elgarhy    schedule 22.09.2009
comment
Вероятно, вы не захотите загружать много файлов за один HTTP-запрос, так как он может стать ненадежным. Через некоторое время вы обнаружите, что в конечном итоге сталкиваетесь с различными ограничениями размера запросов брандмауэра, тайм-аутами и общими проблемами сети. Большинство загрузчиков надстроек загружают каждый файл по отдельному запросу, что делает работу более надежной и обеспечивает лучшую обработку ошибок.   -  person Martin Brown    schedule 22.09.2009
comment
Я планирую использовать средство загрузки файлов Даррена Джонстона: darrenjohnstone.net/2008/08/…. Он уже знает, как правильно обрабатывать несколько больших файлов; Я просто надеялся облегчить пользователям выбор нескольких файлов.   -  person Robert Harvey    schedule 23.09.2009


Ответы (4)


Я настоятельно рекомендую прочитать эта статья Рика Стрела

короткий ответ для HTML5

<form method="post" enctype="multipart/form-data">                
  <label>Upload Images:</label>
  <input type="file" multiple="multiple" name="File1" id="File1" accept="image/*" />
  <hr />  
  <input type="submit" id="btnUpload" value="Upload Images" />
</form>
person Nasser Hadjloo    schedule 23.04.2016

Можно ли разрешить пользователю выбирать несколько файлов в диалоговом окне «Файл / Открыть», используя щелчок, удерживая нажатой клавишу «Shift» и «Ctrl», и перечислять их?

No.

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

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

person bobince    schedule 22.09.2009
comment
Я буду использовать кнопку добавления файла для начальной версии. Если в отзывах пользователей говорится, что требуется выбор нескольких файлов, я скажу им, что для этого требуется зависимость от Flash или Java. Спасибо за информацию. - person Robert Harvey; 23.09.2009

Может, захотите попробовать www.pulpload.com. В зависимости от браузера это может быть хороший способ загрузить несколько файлов.

person Nick    schedule 11.01.2011

Вам понадобится Flash или Java, чтобы можно было выбрать несколько файлов для загрузки.
Проверьте это: http://www.uploadify.com/
Существует множество другие решения ... Но ни одно из них не является чистым HTML.

person Nabab    schedule 11.01.2011