Создать каталог .NET Sharepoint
-
20-08-2019 - |
Вопрос
Я могу загрузить файл в sharepoint с помощью webclient следующим образом
using (System.Net.WebClient webclient = new System.Net.WebClient())
{
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(
Encryptor.Decrypt(ConfigurationManager.AppSettings["username"]),
Encryptor.Decrypt(ConfigurationManager.AppSettings["password"]),
ConfigurationManager.AppSettings["domain"]);
webclient.Credentials = credentials;
string path = Path.Combine("http://sharepoint.domain.com/dir", filename);
webclient.UploadData(path, "PUT", fileBytes);
}
Но я не знаю, как создавать каталоги, если они не существуют.
Есть какие-нибудь идеи, как я могу это сделать?
Спасибо, -c
Решение
Термин "Каталоги" на сайте SharePoint вводит в заблуждение.Структура "каталога" веб-сервиса SharePoint - это виртуальная структура, расположенная в базах данных SharePoint.Вам необходимо определить, каким объектом в объектной модели SharePoint является "каталог", например: http://sharepoint.domain.com/dir вероятно, это SPSite, где на сайте у вас могут быть "каталоги", которые являются SPFolders, SPLists, SPDocumentLibraries и т.д.
Итак, если под "создавать каталоги, которые не существуют" вы имеете в виду структуру каталогов сайта SharePoint, вы не сможете использовать WebClient.У вас есть два варианта:объектная модель служб Windows SharePoint Services и веб-сервисы SharePoint.
Объектная модель, безусловно, проще в использовании, на мой взгляд, но она потребует от вас запуска приложения на том же сервере, что и ваш SharePoint server.Веб-сервисы требуют немного больше работы, но это позволяет вам использовать их удаленно.
Вам нужно будет определить, какой тип объекта вы пытаетесь добавить (напримерSPFolder, SPSite, SPList, SPDocumentLibrary и т.д.).
Существует достаточно документации по использованию объектной модели , расположенной Здесь но если вы хотите использовать веб-сервисы, вам нужно будет получить к ним доступ в следующих местах:
Administration Service http://<server-url:port-number>/_vti_adm/admin.asmx
Alerts Service http://<server-url>/_vti_bin/alerts.asmx
Document Workspace Service http://<server-url>/_vti_bin/dws.asmx
Forms Service http://<server-url>/_vti_bin/forms.asmx
Imaging Service http://<server-url>/_vti_bin/imaging.asmx
List Data Retrieval Service http://<server-url>/_vti_bin/dspsts.asmx
Lists Service http://<server-url>/_vti_bin/lists.asmx
Meetings Service http://<server-url>/_vti_bin/meetings.asmx
Permissions Service http://<server-url>/_vti_bin/permissions.asmx
Site Data Service http://<server-url>/_vti_bin/sitedata.asmx
Site Service http://<server-url>/_vti_bin/sites.asmx
Users and Groups Service http://<server-url>/_vti_bin/usergroup.asmx
Versions Service http://<server-url>/_vti_bin/versions.asmx
Views Service http://<server-url>/_vti_bin/views.asmx
Web Part Pages Service http://<server-url>/_vti_bin/webpartpages.asmx
Webs Service http://<server-url>/_vti_bin/webs.asmx
Я предлагаю заглянуть в Списки или службы Document Workspace Service services.
Надеюсь, это поможет.