Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Вы не сможете сделать это только с HTML и JavaScript. Я рекомендовал бы пробовать Необычная Загрузка , плагин MooTools для нескольких загрузок файла. Это использует смесь JavaScript и Flash, но ухудшается корректно. Это работает со всеми главными браузерами включая IE6 и существует также Flash 10 совместимый выпуск доступный для скачивания (хотя демонстрация еще не была обновлена).
<час>Обновление (2012-11-26):
Несколько загрузок файла возможны с valums или загрузчики blueimp файла.
Для [1 110] рекурсивные загрузки каталога , Ваше лучшее решение использует 11 Chrome, новый API загрузки папки. Это также, кажется, работает над Firefox при использовании префикса поставщика.
Здесь чистое решение JS, пользующееся библиотекой ExtJS
Если Вы избегаете Flash (и по-видимому Java?) решение JS/HTML-only все еще требует однофайловый input
с, но по существу Вы присоединяете onchange
событие к Вашему input
, добавляя новое input
к DOM каждый раз, когда файл выбран.
FTP? И если NEC, перенеситесь в Апплете Java, ActiveX или независимо от того, что Вы хотите.
В противном случае, хотя Вы не хотите флэш-память, SWFUpload довольно прохладен, можно хотеть пересмотреть его как достойный выбор.
Это не чистое js/html решение. Как EndangeredMassa указал, это не возможно. На самом деле этой идеей является IE/Windows только решение. Я не рекомендую это, но это может работать.
Так, все правовые оговорки в стороне...
Много лет и несколько работодателей назад, мы раньше делали некоторый клиентский материал, который инстанцировал FileSystemObject. Это выполнило бы итерации через каждый из файлов и передало бы их до сервера по одному. Не может помнить детали того, как мы сделали это: o (
Так или иначе, это обычно означало, что клиентскому полю придется добавить сайт к списку надежных сайтов и дать надежным сайтам набор полномочий, которые выключены (на очень серьезных основаниях). Материал как способность Инициализировать и написать сценарий элементов управления ActiveX, не отмеченных как безопасные. Такая вещь.
я знаю, что это не идеальный ответ, но он мог указать на Вас в правильном направлении.