我正在编写自定义事件接收器。基本流程如下:
文档已添加到库
根据文档的元数据,检查是否存在其他文档库中的文件夹。
如果该文件夹不存在,则会创建该文件夹。
新添加的文档将复制到另一个文档库中的文件夹中。
我已经达到了这一点,我可以将新添加的文件从一个文档库复制到另一个文档库中。但是我无法弄清楚如何在文档库中复制到特定目录(按名称)。任何帮助都会得到很大的帮助。
到目前为止,这是我的代码:
SPFile sourceFile = properties.ListItem.File;
SPFile destFile; // Copy file from source library to destination
using (Stream stream = sourceFile.OpenBinaryStream())
{
var destLib = (SPDocumentLibrary) properties.ListItem.Web.Lists[listName];
destFile = destLib.RootFolder.Files.Add(sourceFile.Name, stream);
stream.Close();
}
// Update item properties
SPListItem destItem = destFile.Item;
SPListItem sourceItem = sourceFile.Item;
// Copy meta data
destItem["Title"] = sourceItem["Title"];
//...
//... destItem["FieldX"] = sourceItem["FieldX"];
//...
destItem.UpdateOverwriteVersion();
答案 0 :(得分:0)
答案
//Ensure folder here
var destFolder = destLib.RootFolder.SubFolders["name"];
destFile = destFolder.Files.Add(sourceFile.Name, stream);