如何以编程方式将文档从网站集的文档库移动(存档)到另一个网站集
Posted
技术标签:
【中文标题】如何以编程方式将文档从网站集的文档库移动(存档)到另一个网站集【英文标题】:How to programmatically move (archive) a document from document library of a site collection to another site collection 【发布时间】:2012-01-16 10:54:47 【问题描述】:当为文档库中的列设置特定值时,我必须以编程方式将文档从网站集的文档库移动(存档)到 SharePoint 2010 中另一个网站集的文档库。
是否可以在事件接收器中为此场景编写代码?有没有其他办法?
如果有人有任何相关的代码或链接,请分享。
提前致谢!
【问题讨论】:
【参考方案1】:你也许可以做一个复制操作,然后删除原始文件。
查看以下链接,该链接讨论了将文件从一个站点复制到另一个站点:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfilecollection.aspx
该示例使用一个网站集。但是,如果将源文档转换为字节数组,则始终可以实例化目标网站集并将二进制数据添加到该网站集中的文档库中。
当然,复制操作应该在事件接收器中工作。但是,我不确定如果您尝试删除接收器中的文件会发生什么(可能存在并发问题)。如果删除不起作用,请考虑触发一次性计时器作业以删除文件(这将发生在不同的进程中)。
【讨论】:
【参考方案2】:您可以尝试SPExport 类的 SharePoint,根据这篇文章 Copy or Move SharePoint items 看起来我们在 SharePoint UI 中执行的操作很少在内部使用此 API 来完成任务。此外,这种方法取决于您是尝试做一次还是重复的过程。
【讨论】:
以上是关于如何以编程方式将文档从网站集的文档库移动(存档)到另一个网站集的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式从 Word 2007 文档中提取宏 (VBA) 代码