2011-04-12 65 views
0

我正在編寫自定義事件接收器的過程。其基本流程如下:自定義事件接收器 - 複製到文件夾

  1. 文件被添加到基於文件的元數據圖書館

  2. ,我們檢查是否有其他文檔庫中的文件夾存在。

  3. 如果該文件夾不存在,則會創建該文件夾。

  4. 將新添加的文檔複製到駐留在另一個文檔庫中的文件夾中。

我有我自己的地步,被加入到那裏時,他們我可以複製新添加的文件,從一個文檔庫到另一個。但我不知道如何複製到文檔庫中的特定目錄(按名稱)。任何幫助都會得到很大的迴應。

這是到目前爲止我的代碼:

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

回答

//Ensure folder here 

var destFolder = destLib.RootFolder.SubFolders["name"]; 

destFile = destFolder.Files.Add(sourceFile.Name, stream); 
相關問題