Как загрузить все содержимое папки в Liferay 6.2 - PullRequest
0 голосов
/ 04 июля 2018

Есть ли способ загрузить папку: все файлы в папке и подпапках в Liferay 6.2, не используя цикл по всем файлам, существующим в папке?

Мне нужно сделать это программно.

Example : 
Folder to download "XFolder"

XFolder
 - SubFolder1
   - File11
   - File12
 - SubFolder2
   - File21
   - File22
 - File1
 - File2

При выборе загрузки XFolder система ищет папку в документе и на носителе и сохраняет все содержимое папки в файле .zip на диске.
Содержание должно иметь такую ​​же структуру, как указано выше.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 04 июля 2018

Вы можете попытаться использовать значение «treePath» для папки и записи, чтобы выяснить файлы, но вам все равно потребуется цикл.

Для этого вам, вероятно, понадобятся динамические запросы.

алгоритм должен выглядеть примерно так.

  1. Узнайте идентификатор вашей папки
  2. Просмотрите свойство treePath таблицы Folder и получите список всех интересующих вас путей.
  3. получить все идентификаторы папок
  4. переберите все интересующие вас папки и загрузите соответствующие файлы. (Возможно, вы могли бы также сделать запрос, который собрал бы все за один раз)
...