Мне нужно добавить новую версию файла в SPFileCollection без изменения версии (это системное обновление содержимого файла PDF)
UpdateOverwriteVersion позволяет мне изменять метаданные, но есть ли способ изменить содержимое (байты) файла?
Временное решение:
Хорошо, как выяснил Стефан , удовлетворительного решения этой проблемы не существует.
Я нашел два обходных пути:
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();
}