#sharepoint-online #csom
#sharepoint-online #csom
Вопрос:
Я пытаюсь загрузить файл, который находится на моем рабочем столе, в библиотеку документов в семействе сайтов sharepoint online, используя c # и CSOM. ниже приведен мой фрагмент кода.. Может кто-нибудь сообщить мне, чего мне здесь не хватает?
using (SP.ClientContext CContext = new SP.ClientContext(SiteUrl))
{
CContext.Credentials = onlineCredentials;
SP.Web web = CContext.Web;
SP.FileCreationInformation newFile = new SP.FileCreationInformation();
byte[] FileContent = System.IO.File.ReadAllBytes(filePath);
//newFile.ContentStream = new MemoryStream(FileContent);
//newFile.ContentStream = new MemoryStream(FileContent);
newFile.Content = FileContent;
newFile.Url = "/sites/scr/Reports/" Path.GetFileName(filePath);
newFile.Overwrite = true;
SP.List DocumentLibrary = web.Lists.GetByTitle(DocLibrary);
SP.File uploadFile = DocumentLibrary.RootFolder.Files.Add(newFile);
CContext.Load(DocumentLibrary);
CContext.Load(uploadFile);
CContext.ExecuteQuery();
}
Комментарии:
1. Есть ли какие-либо обновления? Сработал ли код?
Ответ №1:
Попробуйте изменить следующим образом:
using (ClientContext CContext = new ClientContext("https://tenant.sharepoint.com/sites/dev/"))
{
CContext.Credentials = new SharePointOnlineCredentials(account,secret);
Web web = CContext.Web;
FileCreationInformation newFile = new FileCreationInformation();
newFile.ContentStream = new MemoryStream(System.IO.File.ReadAllBytes(filePath));
newFile.Url = "/sites/dev/Shared Documents/" Path.GetFileName(filePath);
newFile.Overwrite = true;
List DocumentLibrary = web.Lists.GetByTitle("Documents");
Microsoft.SharePoint.Client.File uploadFile = DocumentLibrary.RootFolder.Files.Add(newFile);
CContext.Load(DocumentLibrary);
CContext.Load(uploadFile);
CContext.ExecuteQuery();
}