SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Eine Datei programmatisch zu einem Document Set dazufügen

Unbeantwortet Dieser Beitrag hat 6 Antworten

Ohne Rang
41 Beiträge
Ladislav Stupak erstellt 15 Nov. 2010 14:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sehr geehrte Damen und Herren,

ich möchte gerne eine Datei zu einem Document Set programmatisch dazufügen.

Die Datei ist schon in dem RootFolder der Bibliothek im SharePoint angelegt.

Können Sie mir bitte damit helfen?

Ich danke euch sehr schön für Ihre Hilfe.

Mit freundlichen Grüssen

Ladislav Stupak

 

 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 15 Nov. 2010 14:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

http://www.learningsharepoint.com/2010/06/26/programatically-using-document-sets-sharepoint-2010/

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
41 Beiträge
Ladislav Stupak Als Antwort am 15 Nov. 2010 15:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

danke sehr schön für deine Antwort.

Die Seite beschreibt eine Erstellung des Document Sets.

Document Set habe ich schon.

Ich benötige jetzt in so ein Document Set eine Datei programmatisch eintragen.

Danke sehr schön für ein Hinweis.

Mit freundlichen Grüssen

Ladislav

 

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 15 Nov. 2010 15:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Ladislav Stupak"]Ich benötige jetzt in so ein Document Set eine Datei programmatisch eintragen.[/quote]

Die Anleitung dazu ist dort auch verlinkt...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
41 Beiträge
Ladislav Stupak Als Antwort am 15 Nov. 2010 16:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

den Code aus der verlinkten Seite

http://www.learningsharepoint.com/2010/06/30/programmatically-adding-documents-to-a-document-set-sharepoint-2010/

habe ich auch versucht.

Er funktioniert nicht.

SPFile file =web.GetFile(documentUrl); //Dieser Code hat als Argument die Url Adresse der Datei aus der SharePoint Liste.


FileStream fileStream = new FileInfo(documentUrl).OpenRead(); //Dieser Code verursacht eine Fehlermeldung "URL Adressen sind nicht erlaubt als Argument.

Deshalb suche ich weitere Beispiele für die Lösung dieser Aufgabe.

 

Danke sehr schön für die Hinweise.

Ladislav

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 15 Nov. 2010 16:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das ist tatsächlich ein Fehler im verlinkten Artikel. Ist mir entgangen, sorry.

Nimm einfach die entsprechenden OpenBinary*-Methoden von SPFile (file.OpenBinary)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
41 Beiträge
Ladislav Stupak Als Antwort am 15 Nov. 2010 17:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

danke sehr schön für deine Antwort.

Ich habe den Code nach deine Anweisung geändert:

private void AddDocumentToDocumentSet(string siteUrl, string documentUrl, DocumentSetTemplate documentSetTemplate, string documentContentTypeName)
        {
           
            using (SPSite site = new SPSite(siteUrl))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    SPFile file =web.GetFile(documentUrl);
                    byte[] documentBytes = file.OpenBinary();
                  
                    documentSetTemplate.DefaultDocuments.Add(file.Name, web.ContentTypes[documentContentTypeName].Id, documentBytes);

                }
            }

Jetzt bekomme ich folgende Fehlermeldung:

System.NullReferenceException was unhandled by user code
  Message=Object reference not set to an instance of an object.

Die DocumentSetTemplate Variable fülle ich nach der Internetseite folgend auf:

DocumentSet documentSet = DocumentSet.GetDocumentSet(item.Folder);

DocumentSetTemplate documentSetTemplate = DocumentSetTemplate.GetDocumentSetTemplate(documentSet.ContentType);

documentSetTemplate.Update(true);
documentSet.ContentType.Update();
web.Update(); 

Ich danke dir sehr schön für Hinweise.

Ladislav
            


        }