Я хотел бы загрузить документ в библиотеку документов SharePoint 2013 и установить значение для трех столбцов.
Я запускаю следующий код C # из модульного теста в Visual Studio:
using (var ctx = new ClientContext($"{spRoot}/{spPathToFolder}"))
{
Microsoft.SharePoint.Client.File.SaveBinaryDirect(ctx, targetFileUrl, ms, true);
var uploadedFile = ctx.Web.GetFileByServerRelativeUrl(targetFileUrl);
var listItem = uploadedFile.ListItemAllFields;
listItem["Title"] = "title";
listItem["UPRN"] = "uprn";
listItem["KeystoneDocType"] = "keystoneDocType";
listItem.File.CheckIn("Added by BizTalk", CheckinType.MajorCheckIn);
listItem.Update();
ctx.ExecuteQuery();
}
Записываются следующие значения переменных пути:
spRoot=[https://collaboration.xxx.com], spPathToFolder=[sites/HousingICTSolution/Technical]
targetFileUrl=[/sites/HousingICTSolution/Technical/AssetMgmtEfilesDemo/xxxLogo_190213115512.png]
Файл загружен нормально (и я могу просмотреть его, когда нажимаю на ссылку с библиотекой SharePoint), но значения столбцов не заданы,Другая проблема состоит в том, что выполнение строки "ctx.ExecuteQuery ()" вызывает следующее исключение:
Message "The file AssetMgmtEfilesDemo/xxxLogo_190213115512.png has been modified by i:0#.w|xxx\\adm-tco05544 on 13 Feb 2019 11:59:35 -0000." string
Я пользователь "adm-tco05544".Кто-нибудь может подсказать, как предотвратить исключение?