.NET Sharepoint Verzeichnis erstellen
-
20-08-2019 - |
Frage
Ich kann eine Datei hochladen mit dem Web-Client auf Sharepoint wie folgt
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);
}
Aber ich weiß nicht, wie Verzeichnisse erstellen, wenn sie nicht existieren.
Alle Ideen, wie kann ich das tun?
Danke, -c
Lösung
Der Begriff „Verzeichnisse“ in einer Sharepoint-Website täuscht. Die ‚Verzeichnis‘ Struktur eines Sharepoint-Webservice ist eine virtuelle Struktur, die in den Sharepoint-Datenbanken befindet. Sie müssen erkennen, welches Objekt in dem Sharepoint-Objektmodell des ‚Verzeichnis‘ ist zum Beispiel: http: //sharepoint.domain .com / dir ist wahrscheinlich ein SPSite, mit der Website können Sie ein 'Verzeichnisse' haben, die SPFolders sind, SPLists, SPDocumentLibraries etc.
Also, wenn von „Verzeichnisse erstellen, die nicht existieren“ Sie bedeuten in der Sharepoint-Website Verzeichnisstruktur, Sie nicht in der Lage sein, mit dem WebClient zu tun. Sie haben zwei Möglichkeiten: das Windows Sharepoint Services-Objektmodell und das Sharepoint-Webservices.
Das Objektmodell ist sicherlich einfacher meiner Meinung nach verwenden, aber es erfordert, dass Sie die App auf dem gleichen Server wie die Sharepoint-Server ausgeführt werden. Die Webservices sind ein bisschen mehr Arbeit, aber es können Sie sie aus der Ferne bedienen.
Sie müssen erkennen, welche Art von Objekt, das Sie (zum Beispiel SPFolder, SPSite, SPList, SPDocumentLibrary ect.).
hinzuzufügen versuchen,Es gibt reichlich Dokumentation zur Verwendung des Objektmodells befindet hier aber wenn Sie den Web Service verwenden mögen, werden Sie brauchen, um sie an den folgenden Stellen zur Verfügung:
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
Ich schlage vor, einen Blick in die Listen oder Dokumentarbeitsbereich Service-Dienste.
Ich hoffe, das hilft.