繁体   English   中英

从网站删除Sharepoint中的文件

[英]Delete file in sharepoint from a website

我正在尝试上载文件,以后再从共享点站点中删除文件。 上传效果很好,但删除时出现错误。

这是我的代码:

  private void UploadSharePoint(string siteNumber, string fileName)
    {
        try
        {
            using (ClientContext client = new ClientContext("https://sites.company.com/sites/" + siteNumber + "/"))
            {
                client.Credentials = new NetworkCredential("user", "pw", "domain");
                var formLib = client.Web.Lists.GetByTitle("Documents");
                client.Load(formLib.RootFolder);
                client.ExecuteQuery();

                //File Upload
                var fileCreationInfo = new FileCreationInformation
                {
                    Content = System.IO.File.ReadAllBytes(fileName),
                    Overwrite = true,
                    Url = Path.Combine("Documents/99_Upload", Path.GetFileName(fileName))
                };
                var uploadFile = formLib.RootFolder.Files.Add(fileCreationInfo);
                client.Load(uploadFile);
                client.ExecuteQuery();

                //File Delete
                Web web = client.Web;
                List list = web.Lists.GetByTitle("mydoc");
                client.Load(list);  --> here I get nothing back
                Folder folder = list.RootFolder;
                client.Load(folder);
                FileCollection files = folder.Files;
                client.Load(files);
                client.ExecuteQuery(); 
                Microsoft.SharePoint.Client.File file = files[1];
                file.DeleteObject();
                client.ExecuteQuery(); 
           }
        }
        catch (System.Exception ex)
        {

        }
    }

错误信息:

{“ URL'https ://sites.company.com/sites/333333 '的站点上不存在列表'mydoc'。”}

因此,删除List list = web.Lists.GetByTitle("mydoc");输入内容一定有问题List list = web.Lists.GetByTitle("mydoc");

Sharepoint中显示的标题是mydoc。 文件名是mydoc.txt。 我都尝试了两次,但没有任何效果。

谢谢您的帮助

引发的错误消息是正确的:

{“ URL'https ://sites.company.com/sites/333333 '的站点上不存在列表'mydoc'。”}

问题是您正在创建标题为“ mydoc”的SharePoint列表项 ,但随后您尝试访问标题为“ mydoc”的SharePoint列表 (该列表不存在)。 请参阅下面的更新代码:

            //File Delete
            Web web = client.Web;
            List list = web.Lists.GetByTitle("Documents");
            client.Load(list);  --> here you will get reference to the list

            Microsoft.SharePoint.Client.File file = web.GetFileByServerRelativeUrl("/Documents/mydoc.txt");
            client.Load(file);
            file.DeleteObject();
            client.ExecuteQuery();              

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM