当前位置:  开发笔记 > 编程语言 > 正文

如何确定SharePoint SPFolder中是否存在文件

如何解决《如何确定SharePointSPFolder中是否存在文件》经验,为你挑选了2个好方法。

除了循环SPFolder中的文件以确定是否存在给定文件名(字符串)之外,还有其他方法吗?



1> Lars Fastrup..:

如果您知道URL,也可以使用SPFile.Exists属性,如下所示:

using (SPSite site = new SPSite("http://server/site"))
using (SPWeb web = site.OpenWeb())
{
  SPFile file = web.GetFile("/site/doclib/folder/filename.ext");
  if (file.Exists)
  {
    ...
  }
}

如果文件不存在,首先会想到假设SPWeb.GetFile抛出异常.但正如你所看到的那样 - 它实际上会返回一个SPFile对象.



2> 小智..:

但是,如果您使用的是SP 2010 Client OM,如果该文件不存在,它实际上会抛出异常:

using(var clientContext = new ClientContext(site))
{
     Web web = clientContext.Web;
     Microsoft.SharePoint.Client.File file = web.GetFileByServerRelativeUrl("/site/doclib/folder/filename.ext");
     bool bExists = false;
     try
     {
         clientContext.Load(file);
         clientContext.ExecuteQuery(); //Raises exception if the file doesn't exist
         bExists = file.Exists;  //may not be needed - here for good measure
     }
     catch{   }

     if (bExists )
     {
           .
           .
     }
}

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有