Sharepoint2010:在不同网站集中的2个文档库之间复制项目

本文关键字:文档 2个 之间 项目 复制 集中 网站 Sharepoint2010 | 更新日期: 2023-09-27 18:24:16

情况:
一个WebApplication,两个网站集。两个网站集都具有相同的"类型"和数据结构。两个集合都使用具有相同结构的文档库。

问题:
我必须实现将一个文档从集合A复制到集合B的能力。当我尝试以下操作时。。。

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

我有一种感觉,在这个网站上不存在具有给定URL的文件。URL是正确的,所以我想知道为什么会发生这种情况?你有什么提示或其他方法来解决这个问题吗?

其他信息:
我使用的是Visual Studio 2010、.NET 3.5、Sharepoint2010 Server。

编辑:
我需要通过编程来实现这一点!内容部署(由于某些原因)不是可用的解决方案。

Sharepoint2010:在不同网站集中的2个文档库之间复制项目

您不能在一个web中使用Files集合将文件添加到另一个web应用程序。相反,您应该打开源文件,然后打开目标网站和网站,并使用其"文件"集合在目标网站中创建新文件。类似于:

byte[]sourceFileContent=sourcePage.File.OpenBinary()
使用(SPSite site=新SPSite("http://mysite2"))
{
 nbsp nbsp;使用(SPWeb-web=site.OpenWeb("/")
 nbsp nbsp;{
 nbsp nbsp nbsp nbsp;SPList列表=网状物列表["我的列表"]
 nbsp nbsp nbsp nbsp;列表根文件夹.Files.Add(destFileUrl,sourceFileContent)
 nbsp }
}

顺便说一句,要在站点之间复制文件,最好使用导出/导入,如下所述:http://www.spsamples.com/2011/07/moving-sharepoint-list-items-to-archive.html