我需要将文件的新版本添加到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