2011-02-23 38 views
2

我寫了一些代碼,將文件及其元數據複製到一個新的URL。但由於某些原因,它只是複製Word和Excel文件的元數據。非微軟的任何東西,比如PDF,都不會複製它們的元數據。我的代碼在下面,有人看到我應該改變什麼嗎?如何在SharePoint中使用元數據移動文件?

此外,該代碼工作了PDF文件時,它在2007年跑了......

static void CopyFileWithHistoryCrossSite(SPFile sourceFile, SPFolder destination, string destinationUrl) 
{ 
    byte[] binFile; 

    binFile = sourceFile.OpenBinary(); 

    destination.Files.Add(destinationUrl, binFile, true); 
} 

回答

3

這個代碼將無法在目的地「複製元數據」,元數據將被重新創建基於文件的流的流(這被稱爲「物業促銷」,見http://msdn.microsoft.com/en-us/library/aa979617.aspx)。

嘗試SPFile.CopyTo/MoveTo,因爲我認爲他們可能會複製元數據。

+0

我也看到,少數人的許多SPFileCollection.Add方法允許你傳遞一個包含元數據的哈希表,我應該考慮重寫我的函數的使用呢? – 2011-02-23 23:25:21

+0

我沒有使用它們,但根據說明,這些版本的添加應允許您複製元數據。 – 2011-02-24 00:00:09

相關問題