C# 使用c将文档库项从一个文件夹移动到另一个文件夹,包括版本历史记录#
使用Sharepoint 2007对象模型,我一直在寻找C#中的一个示例,将一个项目从一个文档库移动到同一服务器上的另一个文档库,并保存版本历史记录(即SPListItemVersion对象)和元数据(文件夹具有相同的内容类型等) 我能够用以下代码完成我想要做的事情:C# 使用c将文档库项从一个文件夹移动到另一个文件夹,包括版本历史记录#,c#,sharepoint,document,C#,Sharepoint,Document,使用Sharepoint 2007对象模型,我一直在寻找C#中的一个示例,将一个项目从一个文档库移动到同一服务器上的另一个文档库,并保存版本历史记录(即SPListItemVersion对象)和元数据(文件夹具有相同的内容类型等) 我能够用以下代码完成我想要做的事情: /// <summary> /// Adds item to archive /// </summary> /// <param name="item"&g
/// <summary>
/// Adds item to archive
/// </summary>
/// <param name="item">Item to add</param>
/// <param name="destination">Archive path</param>
/// <param name="destination">web site of archive</param>
/// <returns>Result of arhivation process</returns>
public static string ArchiveItem(SPListItem item, string destination, SPWeb web)
{
// Save main meta information for later use:
var author = item.File.Author;
var modifiedBy = item.File.ModifiedBy;
var modified = item.File.TimeLastModified;
var created = item.File.TimeCreated;
// Get destination filename:
var destinationFile = destination + "/" + item.File.Name;
// Copy the item and set properties:
var coppiedFile = web.GetFolder(destination).Files.Add(
destinationFile,
item.File.OpenBinary(),
author,
modifiedBy,
created,
modified
);
coppiedFile.Item["Created"] = created;
coppiedFile.Item["Modified"] = modified;
// Save changes, UpdateOverwriteVersion causes object to save without saving a new version.
coppiedFile.Item.UpdateOverwriteVersion();
// If moving is enabled, delete original item:
item.Delete();
return coppiedFile.ServerRelativeUrl;
}
//
///将项目添加到存档
///
///要添加的项目
///存档路径
///档案馆网站
///arhivation过程的结果
公共静态字符串ArchiveItem(SPListItem、字符串目标、SPWeb)
{
//保存主要元信息供以后使用:
var author=item.File.author;
var modifiedBy=item.File.modifiedBy;
var modified=item.File.TimeLastModified;
var created=item.File.TimeCreated;
//获取目标文件名:
var destinationFile=destination+“/”+item.File.Name;
//复制项目并设置属性:
var coppiedFile=web.GetFolder(destination).Files.Add(
命中注定,
item.File.OpenBinary(),
作者
由,
创建,
被改进的
);
coppiedFile.Item[“已创建”]=已创建;
coppiedFile.Item[“Modified”]=已修改;
//保存更改,UpdateOverwriteVersion会导致对象保存而不保存新版本。
coppiedFile.Item.UpdateOverwriteVersion();
//如果启用移动,则删除原始项目:
项目.删除();
返回coppiedFile.ServerRelativeUrl;
}