Web.GetFileByServerRelativeUrl抛出“值不在预期范围内”

时间:2014-01-21 09:56:10

标签: c# sharepoint client-object-model sharepoint-clientobject sharepoint-online

我有一个SP Online网站,我存储文档,添加/检索文档没有问题,但在删除流程中,我在检索File对象时遇到错误。

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();
    }
}

该文件的完整网址为“https://my-sponline-site.sharepoint.com/sites/documentsite/Documents/images.jpg”(无法访问2016-12-07)

当我执行此操作时,我得到ServerException

  

价值不在预期范围内。

Context工作正常,因为我可以从库中添加/检索项目,而上下文用户是 administrator

我尝试将网址添加到relativeUrl,因此它将是“/documentsite/Documents/images.jpg”,但我收到同样的错误。

我似乎无法弄清楚这一点,有什么建议吗?

由于

1 个答案:

答案 0 :(得分:24)

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