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.




Problem beim Importieren

Geprüfte Antwort Dieser Beitrag hat 9 Antworten

Ohne Rang
82 Beiträge
Tim K. erstellt 12 Aug. 2010 12:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Heyho, ich habe ein neues Problemchen:

Ich versuche genau nach dem Lehrbuch eine Datei von der Festplatte in meine Dokumentbibliothek zu schreiben, jedoch erscheint beim Debuggen auf der Zeile

           //SharePoint-Objekte erzeugen
            SPWeb myWeb = mySite.OpenWeb("http://meinewebseite");

...


        //Hinzufügen zu Website. Die Dokumentblibliothek wird durch die URL bestimmt
        SPFile newFile = myWeb.Files.Add(docBib + "/" + fileName, fs, false);

Fehlermeldung:

"<nativehr>0x80070002</nativehr><nativestack></nativestack>Es existiert keine Website mit dem Namen "/http://meinewebseite"."

Normal 0 21 false false false DE X-NONE X-NONE MicrosoftInternetExplorer4

Hat jemand von Euch vllt. Eine Idee, wo das slash vor meiner seite herkommt ?ich habe sie ja oben richtig angegeben.

Danke schonma im Voraus.

 

 

Alle Antworten

Ohne Rang
82 Beiträge
Tim K. Als Antwort am 12 Aug. 2010 14:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

oder könnte mir jemand erklären wie diese zeile zusammengebaut wird


            //Hinzufügen zu Website. Die Dokumentblibliothek wird durch die URL bestimmt
            SPFile newFile = myWeb.Files.Add(docBib + "/" + fileName, fs, false);

die ist ja die entscheidende, die irgendwie das / vor das http stellt ...

"Der Weise lernt mehr von der Frage eines Dummen, als der Dumme eines Weisen".

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

Du solltest mal den ein oder anderen Blick ins SDK riskieren ;-)

SPSite.OpenWeb erwartet einen relativen Pfad, aber Du hast einen absoluten übergeben.

SPFileCollection.Add erwartet im ersten Parameter einen String für den Dateinamen (ohne Pfad) und im zweiten Parameter den Inhalt der Datei.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
82 Beiträge
Tim K. Als Antwort am 12 Aug. 2010 15:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn ich den absoluten pfad übergebe findet es den nicht, steht das http davor, fügt es wieder den slash hinzu.

SPFileCollection.Add hab ich nicht im code ...

public void File2DocLib(string webName, string docBib, string fileName, string diskFileName)
        {
            //SharePoint-Objekte erzeugen
            SPWeb myWeb = mySite.OpenWeb(webName);

            //Einlesen der Datei
            FileStream fs = new FileStream(diskFileName, FileMode.Open, FileAccess.Read);

            //Hinzufügen zu Website. Die Dokumentblibliothek wird durch die URL bestimmt
            SPFile newFile = myWeb.Files.Add(docBib + "/" + fileName, fs, false);

            //Das neu erzeugte SPFile-Objekt führt zum Listenelement und zur Dokumentbibliothek
            SPListItem myListItem = newFile.Item;
            SPDocumentLibrary myDocLib = (SPDocumentLibrary)myListItem.ParentList;

"Der Weise lernt mehr von der Frage eines Dummen, als der Dumme eines Weisen".

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Aug. 2010 09:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Bieber Bruder"]Wenn ich den absoluten pfad übergebe findet es den nicht[/quote]

Deshalb hatte ich ja auch geschrieben, daß Du einen relativen Pfad angeben sollst ;-)

[quote user="Bieber Bruder"]SPFileCollection.Add hab ich nicht im code [/quote]

Doch, hast Du: myWeb.Files.Add

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
82 Beiträge
Tim K. Als Antwort am 13 Aug. 2010 09:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also nochmal zusammengefasst: gebe ich den relativen pfad an mit

SPWeb myWeb = mySite.OpenWeb("//meinewebseite");

findet es die auch nicht: (Es existiert keine Website mit dem Namen "//meinewebseite".)

"Der Weise lernt mehr von der Frage eines Dummen, als der Dumme eines Weisen".

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Aug. 2010 09:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ist das auch relativ zu mySite? Ist mySite überhaupt richtig initialisiert?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
82 Beiträge
Tim K. Als Antwort am 13 Aug. 2010 09:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

ja, mysite hat http://meinewebseite drinne, sonst findet es die gleich ganz am anfang nicht - 

class Class1
    {
        SPSite mySite;

"Der Weise lernt mehr von der Frage eines Dummen, als der Dumme eines Weisen".

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Aug. 2010 09:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dann hast Du also schon die gewünschte Adresse? -> Rufe einfach OpenWeb() ohne Parameter auf.

Langsam würde sich ein Blick ins SDK wirklich lohnen...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
82 Beiträge
Tim K. Als Antwort am 13 Aug. 2010 09:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

danke, das könnte es gewesen sein :)

jedoch wirft sich nun ein neues problem auf: ,,Es gibt keine Datei mit URL "http://meinewebseite/Testwebseite/Testbibo/Test.txt" in dieser Website."

 Ist doch eigentlich klar, dass das nicht vorhanden ist, sollte es das nicht mit diesem code dort hochladen ?

"Der Weise lernt mehr von der Frage eines Dummen, als der Dumme eines Weisen".