12

Ich habe eine SP Online-Site, wo ich Dokumente, ich habe keine Probleme beim Hinzufügen/Abrufen von Dokumenten, aber im Löschfluss bekomme ich einen Fehler beim Abrufen eines File Objekts .Web.GetFileByServerRelativeUrl wirft "Wert liegt nicht im erwarteten Bereich"

public static void DeleteDocument() 
{ 
    using (ClientContext ctx = ClientContextFactory.Create("https://my-sponline-site.sharepoint.com/sites/documentsite")) 
    { 
     Web web = ctx.Web; 
     ctx.Load(web); 
     ctx.ExecuteQuery(); 

     string relativeUrl = "/Documents/images.jpg"; 

     File file = web.GetFileByServerRelativeUrl(relativeUrl); 
     ctx.Load(file); 
     file.DeleteObject(); 

     ctx.ExecuteQuery(); 
    } 
} 

vollständige URL der Datei ist "https://my-sponline-site.sharepoint.com/sites/documentsite/Documents/images.jpg" (nicht mehr zugänglich 2016.12.07)

Als ich dies ausführen, bekomme ich ein ServerException:

Wert fällt nicht innerhalb des erwarteten Bereichs.

Der Kontext arbeitet gut wie ich in der Lage bin, um hinzuzufügen/abrufen Elemente aus der Bibliothek und der Kontext Benutzer Administrator.

Ich habe versucht, die Web-URL zu relativerUrl hinzuzufügen, so dass es "/documentsite/Documents/images.jpg" wäre, aber ich bekomme den gleichen Fehler.

Ich kann nicht scheinen, das herauszufinden, irgendwelche Vorschläge?

Dank

+2

seit seiner serverrelative - Sie/Sites hinzufügen sollte/documentsite –

+1

scheint erwähnenswert, dass, obwohl die Datei-Abruf eine serverrelative URL möchte, scheint es, dass Sie noch einen Kontext erstellt verwenden müssen mit der URL der richtigen Website (oder sonst erhalten Sie den gleichen "Fehler, der nicht innerhalb des erwarteten Bereichs liegt" -Fehler). – mwardm

Antwort

22
string relativeUrl = "/sites/documentsite/Documents/images.jpg"; 
Verwandte Themen