2012-02-12 42 views
0

情況:
一個WebApplication,兩個網站集。兩個網站集都具有相同的「類型」和數據結構。兩個集合都使用具有相同結構的文檔庫。Sharepoint2010:在不同網站集中的2個文檔庫之間複製項目

問題/疑問:
我要實現一個文件從收集副本集合B.當我嘗試以下的能力...

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

...我得到一個cxception在此Web中不存在具有給定URL的文件。該URL是正確的,所以我想知道爲什麼會發生這種情況?你有任何提示或其他方法來解決這個問題嗎?

其他相關信息:
我使用的VisualStudio 2010,.NET 3.5,Sharepoint2010服務器。

編輯:
我需要通過編程實現!內容部署(由於某些原因)沒有可用的解決方案。

回答

2

您不能在一個Web中使用Files集合將文件添加到另一個Web應用程序。 相反,您應該打開源文件,然後打開目標站點和Web,並使用其Files集合在目標Web中創建新文件。例如:

byte [] sourceFileContent = sourcePage.File.OpenBinary();
使用(的SPSite站點=新的SPSite( 「HTTP:// mysite2」)),使用
{
       (的SPWeb幅= site.OpenWeb( 「/」))
        {
                  SPList list = web.Lists [「My List」];
                list.RootFolder.Files.Add(destFileUrl, sourceFileContent);
       }}

BTW,站點之間複製文件時,它是更好地使用導出/導入,喜歡這裏描述: http://www.spsamples.com/2011/07/moving-sharepoint-list-items-to-archive.html

相關問題