Программная целевая библиотека документов по умолчанию для загрузки файлов в SP16 - PullRequest
0 голосов
/ 20 декабря 2018

Я сделал приложение на C # для загрузки файлов в SharePoint.Пока он работает как задумано, во всех библиотеках документов, кроме библиотеки по умолчанию.Каждый раз, когда выдается исключение: список «Документы» не существует на сайте с URL «http: // ...». Я также пытался использовать «Общие документы», но результат тот же.Есть ли в библиотеке по умолчанию какое-то внутреннее имя, о котором я не знаю?

Код для загрузки выглядит следующим образом:

// Get the SharePoint context
            ClientContext context = new ClientContext(domain);

            // Open the web
            var web = context.Web;

            String[] files = System.IO.File.ReadAllLines(args[0]);

            foreach (String file in files)
            {
                // Create the new file  
                var newFile = new FileCreationInformation
                {
                    Content = System.IO.File.ReadAllBytes(file),
                    Url = Path.GetFileName(file),
                    Overwrite = true
                };

                // Get a reference to the document library
                var docs = web.Lists.GetByTitle(library);
                var uploadFile = docs.RootFolder.Files.Add(newFile);

                // Upload the document
                context.Load(uploadFile);
            }

1 Ответ

0 голосов
/ 04 января 2019

Прежде всего, гораздо безопаснее получать список по URL, а не по названию.

using (ClientContext context = new ClientContext("https://sharepoint.domain.com"))
{
    context.Load(context.Web, w => w.ServerRelativeUrl);
    context.ExecuteQuery();

    List list = context.Web.GetList($"{context.Web.ServerRelativeUrl.TrimEnd('/')}/Shared Documents");
}

Также не забудьте утилизировать объект context.

Проверка включенаальтернативные языки ( Настройки сайта> Администрирование сайта> Настройки языка ).У вас может быть больше включенных языков, и язык по умолчанию может отличаться от ожидаемого.Каждый язык имеет свое имя в списке.

...