Я пытаюсь загрузить несколько файлов в библиотеку документов, а также обновить значения столбцов. Список (Doc Lib) уже существует, но я застрял с загрузкой файла
Я пробовал эти методы
используя lists.asmx
NetworkCredential credentials = new NetworkCredential("user", "Pass", "domain"); #region ListWebService ListService.Lists listService = new ListService.Lists(); listService.Credentials = credentials; List list = cc.Web.Lists.GetByTitle(library); listService.Url = cc.Url + "/_vti_bin/lists.asmx"; try { FileStream fStream = System.IO.File.OpenRead(filePath); string fName = fStream.Name.Substring(3); byte[] contents = new byte[fStream.Length]; fStream.Read(contents, 0, (int)fStream.Length); fStream.Close(); string attach = listService.AddAttachment(library, itemId.ToString(), Path.GetFileName(filePath), contents); } #endregion catch (System.Web.Services.Protocols.SoapException ex) { CSVWriter("Message:\n" + ex.Message + "\nDetail:\n" + ex.Detail.InnerText + "\nStackTrace:\n" + ex.StackTrace, LogReport); }
Выдает ошибку ServerException :To add an item to a document library, use SPFileCollection.Add()
на AddAttachment()
С использованием
List lib = cc.Web.Lists.GetByTitle("TestLib"); FileCreationInformation fileInfo = new FileCreationInformation(); fileInfo.Content = System.IO.File.ReadAllBytes("C:\\Users\\AJohn\\Desktop\\sample.docx"); fileInfo.Url = "https://serverm/sites/Testing1/TestLib/sample.docx"; fileInfo.Overwrite = true; Microsoft.SharePoint.Client.File upFile = lib.RootFolder.Files.Add(fileInfo); cc.Load(upFile); cc.ExecuteQuery();
Я смог загрузить once
с помощью этого метода, но теперь я получаю ServerException :To add an item to a document library, use SPFileCollection.Add()
на cc.ExecuteQuery()
Но если этот метод вообще работает, я хочу, чтобы я обновил значения столбца, связанные с этим файлом. В первом методе я получаю item.ID, поэтому оттуда я могу обновить значения столбца.