C# Sharepoint CSOM正在删除文件夹和内容
虽然这样做有效,但似乎相当冗长。有没有更简洁的方法?使用CSOM和C#.Net Framework应用程序。真的只是想删除文件夹和内容。谢谢C# Sharepoint CSOM正在删除文件夹和内容,c#,sharepoint,csom,C#,Sharepoint,Csom,虽然这样做有效,但似乎相当冗长。有没有更简洁的方法?使用CSOM和C#.Net Framework应用程序。真的只是想删除文件夹和内容。谢谢 public static void DeleteFileAndFolder(string file) { using (var context = Sharepoint.ClientContext) { context.Credentials = new NetworkCredent
public static void DeleteFileAndFolder(string file)
{
using (var context = Sharepoint.ClientContext)
{
context.Credentials = new NetworkCredential(
Sharepoint.ExtranetUserName,
Sharepoint.ExtrantPassword);
var web = context.Web;
var list = web.Lists.GetByTitle(Sharepoint.ListTitle);
var deleteFile = list.RootFolder.FindFiles(file).Single();
deleteFile.Context.Load(deleteFile.ListItemAllFields);
deleteFile.Context.ExecuteQuery();
var folderUrl = deleteFile.ListItemAllFields["FileDirRef"].ToString();
var folder = deleteFile.ListItemAllFields.ParentList.ParentWeb.GetFolderByServerRelativeUrl(folderUrl);
deleteFile.Context.Load(folder);
deleteFile.Context.ExecuteQuery();
deleteFile.DeleteObject();
folder.DeleteObject();
context.ExecuteQuery();
}
}
您不需要获取列表,您可以从web对象获取文件夹,请参阅示例以删除文件夹中的文件:
ClientContext ctx = GetCtx();
Folder rootFolder = ctx.Web.GetFolderByServerRelativePath(ResourcePath.FromDecodedUrl("your path here"));
ctx.Load(rootFolder, f => f.Files);
ctx.ExecuteQuery();
foreach (var file in rootFolder.Files)
{
file.DeleteObject();
}
ctx.ExecuteQuery();