Для извлечения объекта из папки требуется только одно: удалить соответствующий объект ReferentialContainmentRelationship
.Последний может быть получен несколькими способами, но при условии, что вы знаете папку, из которой вы хотите разархивировать, самый простой способ - использовать метод unfile
на Folder
:
ReferentialContainmentRelationship rcr = folder.unfile(document);
rcr.save(RefreshMode.NO_REFRESH);
Код, который вы разместили, кажется, является адаптацией чего-то, предназначенного для более общих задач.Я не верю, что документация рекомендует разархивировать из одной папки таким образом.В любом случае, если документ, который вы разархивируете, не будет помещен во многие тысячи папок, даже если это ненужное усложнение, его откроют за считанные секунды, а не часы.Возможно, что-то не так с вашей системой.