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

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top