Апплеты для доступа к локальной файловой системе

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

Существуют ли какие-либо фреймворки апплетов Java для доступа к локальной файловой системе через браузер?


person Andre    schedule 27.03.2012    source источник
comment
Я ожидаю, что пользователь может выбрать каталог на своем локальном компьютере и синхронизировать его с каталогом на сервере. Он должен работать как клиент Dropbox. Но если Dropbox синхронизирует файлы автоматически, в моем случае пользователь начинает синхронизацию вручную через браузер.   -  person Andre    schedule 28.03.2012
comment
Итак, я хочу решить это с помощью подписанного апплета, и я хочу найти существующий апплет, компонент, фреймворк или что-то еще, что уже реализовало мои требования.   -  person Andre    schedule 28.03.2012
comment
Другими словами, мне нужен только мост между локальной файловой системой и браузером. Весь пользовательский интерфейс построен на html и javascript. Я просто хочу вызвать метод (например, getRootDirectories()) из апплета через javascript и получить список каталогов. Или вызовите (например, createFile('/home/username/', myserver/file.txt)) и апплет должен создать файл в локальной файловой системе.   -  person Andre    schedule 28.03.2012


Ответы (2)


См. информацию об апплете. страница для ссылок на «Следующее поколение». Начиная с подключаемого модуля Next Generation, даже встроенные апплеты в песочнице могут получить доступ к локальной файловой системе (с разрешения пользователя при появлении запроса).

Апплеты следующего поколения:

  • Можно развернуть с помощью Java Web Start (хотя он все еще встроен в веб-страницу).
  • Таким образом, можно получить доступ к JNLP API, который предоставляет такие вещи, как файловые службы JNLP (которые предлагают изолированный доступ к локальной файловой системе). Вот демонстрация. из файловых служб он основан на фрейме и свободно перемещается, вы можете загрузить исходный код и создать файлы. А вот и GIFanim: встроенный апплет с песочницей, который может загружать изображения из локального файла. system (выбирается пользователем) для создания анимированных GIF-файлов (которые затем можно сохранить обратно в локальную файловую систему).

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

  • Доверенный апплет (подписанный разработчиком, принятый пользователем по запросу).
  • Редактирование файлов политик (не рекомендуется разработчикам, не говоря уже о конечных пользователях).
  • Свободно плавающий апплет, развернутый с помощью JWS (странно выглядит, с таким же успехом можно было бы использовать фрейм).
person Andrew Thompson    schedule 27.03.2012
comment
Итак, я знаю, как это сделать с собой, но я просто искал готовый апплет или компонент - person Andre; 28.03.2012

По умолчанию апплет не может получить доступ к локальной файловой системе. Эта проблема обсуждается в В этой статье. По сути, вам нужно подписать апплет или выполнить некоторую локальную настройку, чтобы отключить ограничения, с которыми вы не можете жить. Мой совет — выключайте только те ограничения, которые вам ДЕЙСТВИТЕЛЬНО нужны.

person Jim Blizard    schedule 27.03.2012
comment
Это было немного неправильно до появления плагина Next Gen (апплет в песочнице, развернутый в свободном режиме с использованием JWS, мог получить доступ к файловой системе) и еще более неправильно после плагина Next Gen. Смотрите мой ответ. - person Andrew Thompson; 28.03.2012