Я загружаю документ в библиотеку документов вместе с метаданными, используя объектную модель сервера в Sharepoint Foundation 2010. Я использую следующий код
// Initialize instance of existing site collection
using (SPSite site = new SPSite(siteUrl))
{
//Initailize instance of exiting web site (for e.g. Team Site)
using (SPWeb web = site.RootWeb)
{
//Get list with specified name in the existing web site
SPList list = web.Lists[libraryName];
//Get the collection of folders in the existing web site
String url = list.RootFolder.ServerRelativeUrl.ToString();
SPFolderCollection folders = web.GetFolder(url).SubFolders;
//Add new folder in the exiting collection of folders
SPFolder folder = folders.Add(folderName);
//SPFolder folder = web.GetFolder(siteUrl + "/" + libraryName + "/" + folderName);
//byte[] fileContents = System.IO.File.ReadAllBytes(@fileUrl);
//Add file in the newly added folder with overwrite
var overWrite = true;
SPFile file = folder.Files.Add(saveFileWithName, fileContents, overWrite);
//Get the list item of the newly added file
SPListItem listItem = file.ListItemAllFields;
//Assign values to the fields of newly added file
listItem["User_x0020_Name"] = userName;
listItem["Document_x0020_Type"] = documentType;
listItem["Check_x0020_Type"] = checkType;
//Update the list item with the newly added values to the fields
listItem.Update();
//Get the unique id of the newly added list item
documentGuid = listItem["UniqueId"].ToString();
}
}
Приведенный выше код работает нормально. В моей библиотеке документов включено управление версиями. Когда приведенный выше код запускается, он создает две версии в библиотеке документов. Один, когда он загружает документ с
SPFile file = folder.Files.Add(saveFileWithName, fileContents, overWrite);
и еще один, когда он добавляет значения в столбец User_x0020_Name
, Document_x0020_Type
и
Check_x0020_Type
используя
listItem.Update();
Я хочу создать только одну версию, когда пользователь загружает документ, а также добавляет метаданные. Как это сделать? Не могли бы вы предоставить мне какой-либо код или ссылку, с помощью которой я могу решить вышеуказанную проблему?