Как программно переместить (архивировать) документ из библиотеки документов семейства сайтов в другое семейство сайтов - PullRequest
0 голосов
/ 16 января 2012

Мне необходимо программно переместить (заархивировать) документ из библиотеки документов семейства сайтов в библиотеку документов другого семейства сайтов в SharePoint 2010, если для столбца в библиотеке документов задано определенное значение.

Можно ли написать код для этого сценария в приемнике событий? Есть ли другой способ?

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

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 17 января 2012

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

0 голосов
/ 16 января 2012

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

Взгляните на следующую ссылку, в которой обсуждается копирование файла с одного сайта на другой:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfilecollection.aspx

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

Конечно, операция копирования должна работать в приемнике событий. Однако я не уверен, что произойдет, если вы попытаетесь удалить файл в получателе (могут возникнуть проблемы с параллелизмом). Если удаление не работает, попробуйте запустить одноразовое задание таймера для удаления файла (что может произойти в другом процессе).

...