1

我正在使用它在现有的共享点位置创建一个文件夹。有没有办法在创建之前检查文件夹是否存在,而不是使用 try/catch 来找出这个方法失败然后假设文件夹存在?我已经检查了 webrequest 方法,但没有这样的检查。

try
{
    HttpWebRequest request = (System.Net.HttpWebRequest)HttpWebRequest.Create("https://site.sharepoint.com/files/"+foldername);
    request.Credentials = CredentialCache.DefaultCredentials;
    request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
    request.Method = "MKCOL";
    HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
    response.Close();
}
catch (Exception ex) 
{ 
    //if this piece fails the folder exists already 
} 
4

2 回答 2

2

你可以使用SPWeb.GetFolder 方法

private bool CheckFolderExists(SPWeb parentWeb, string folderName) {
    SPFolder folder = parentWeb.GetFolder(folderName);
    return folder.Exists;
}

参考: http: //mundeep.wordpress.com/2009/02/24/checking-if-a-spfolder-exists/

于 2012-11-05T13:14:56.923 回答
2
public void CheckWebFoldersExist()
 {
  try
   {
    WebClient client = new WebClient();
    client.Credentials = CredentialCache.DefaultCredentials;
    // Create a request for the URL.         
    WebRequest request = WebRequest.Create("myAddress");

    // If required by the server, set the credentials.
    request.Credentials = CredentialCache.DefaultCredentials;

    // Get the response.
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

    //check response status
    if (string.Compare(response.StatusDescription, "OK", true) == 0)
    { 
       //URL exists so that means folder exists
    }
    else
    {
        //URL does not exist so that means folder does not exist
    }
  }
   catch (Exception error)
   {
      //error catching
   }

}
于 2012-11-07T13:07:31.517 回答