Sharepoint2010: копирование элементов из 2 библиотек документов в разные семейства сайтов - PullRequest
0 голосов
/ 12 февраля 2012

Ситуация:
Одно веб-приложение, два семейства сайтов.Оба семейства сайтов имеют одинаковый «тип» и структуру данных.Обе коллекции используют библиотеку документов с одинаковой структурой.

Проблема / Вопрос:
Мне необходимо реализовать возможность копирования одного документа из коллекции A в коллекцию B. При попыткеследующее ...

SPFile destfile = destPageList.RootFolder.Files.Add(sourcePage.File.ServerRelativeUrl, sourcePage.File.OpenBinary());

... Я понимаю, что в этой сети нет файла с указанным URL.URL-адрес правильный, поэтому мне интересно, почему это происходит?У вас есть какие-либо советы или другие способы решения этой проблемы?

Другая информация:
Я использую VisualStudio 2010, .NET 3.5, сервер Sharepoint2010.

Редактировать:
Мне нужно добиться этого программно!Развертывание контента (по некоторым причинам) непригодно для использования.

1 Ответ

2 голосов
/ 12 февраля 2012

Нельзя использовать коллекцию файлов в одном веб-каталоге для добавления файла в другое веб-приложение.Вместо этого вы должны открыть исходный файл, затем открыть целевой сайт и Интернет и использовать его коллекцию файлов для создания нового файла в целевой сети.Что-то вроде:

byte [] sourceFileContent = sourcePage.File.OpenBinary ();используя (сайт SPSite = новый сайт SPSite ("http://mysite2"))
{использование (SPWeb web = site.OpenWeb ("/")){SPList list = web.Lists ["Мой список"];list.RootFolder.Files.Add (destFileUrl, sourceFileContent);}}

Кстати, для копирования файлов между сайтами лучше использовать экспорт / импорт, как описано здесь: http://www.spsamples.com/2011/07/moving-sharepoint-list-items-to-archive.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...