我需要將文件的新版本添加到SPFileCollection不改變版本(它是PDF文件的內容的系統更新)Sharepoint:如何在不更改版本的情況下添加文件?
UpdateOverwriteVersion讓我改變的元數據,但有什麼辦法改變文件的內容(字節)?
解決方法: 好的,因爲Stefan發現,沒有令人滿意的解決方案。 我發現了兩種解決方法:
1. (注意關閉版本控制可能會導致錯誤的行爲,如果還有人在名單上的工作... - Stefan)
oFile = oWeb.GetFile(url);
oFile.Item.ListItems.List.EnableVersioning = false;
oFile.Item.ListItems.List.Update();
oFolder.Files.Add(oFile.Name, aBytes, fileProperties, true);
oFile.Item.ListItems.List.EnableVersioning = true;
oFile.Item.ListItems.List.Update();
2 。
oFile = oWeb.GetFile(sAdres);
int iFileVersion = oFile.UIVersion;
oFolder.Files.Add(oFile.Name, aBytes, fileProperties, true);
oFileVersion = oFile.Versions.GetVersionFromID(iFileVersion);
if (null != oFileVersion && !oFileVersion.IsCurrentVersion)
{
oFileVersion.Delete();
}
嗯,我試過用: 'SPFile oFile = oWeb.GetFile(url); oFile.SaveBinary(MemoryStream的,新SPFileSaveBinaryParameters(){ CreateVersion =假, CheckRequiredFields =假 });' 但它無論如何增加了新的版本......我做錯了什麼?我應該做更多的事嗎? – Robert
@羅伯特:對不起,以前從未使用過這個開關。在'SPFile.SaveBinaryStreamInternal'方法中,arg'CreateVersion'變爲'bForceCreateVersion'。其中有一個「稍微」不同的含義;)。 – Stefan
好的,謝謝,我發現了兩種解決方案:關閉版本控制或刪除以前的版本,沒有一個很好;) – Robert