2011-09-22 3 views
1

asp.net (C#) 4.0에서 작업 중입니다. 이미지를 업로드하기 전에 이미지가 업로드 된 폴더가 있는지 확인하고 싶습니다. 존재한다면, 읽기 전용인지 아닌지, 그리고 읽기 전용인지, 읽기 전용이 아닌지 만들고 싶습니다. 나는 어떻게 그렇게 할 수 있는가. 응용 프로그램을 시작할 때마다 폴더는 읽기 전용으로 설정됩니다. 따라서이 문제를 프로그래밍 방식으로 검사하여 피하기를 원합니다. 나는이 좋아했다폴더가 C# .net에서만 읽을 수 있는지 확인하십시오.

...

  SaveFilePath = Server.MapPath("~\\_UploadFiles\\") + FileName; 
      DirectoryInfo oDirectoryInfo = new DirectoryInfo(Server.MapPath("~\\_UploadFiles\\")); 
      if(!oDirectoryInfo.Exists) 
        Directory.CreateDirectory(Server.MapPath("~\\_UploadFiles\\")); 
      else 
      { 
       if (oDirectoryInfo.Attributes.HasFlag(FileAttributes.ReadOnly)) 
       { 
        oDirectoryInfo.Attributes = FileAttributes.Normal; 
       } 
      } 

      if (File.Exists(SaveFilePath)) 
      { 
       File.Delete(SaveFilePath);//Error is thrown from here 
      } 

이 코드는 코드에 지정된 장소에서 오류가 발생합니다. 폴더 "_UploadFiles는"읽기 전용 있지만 여전히이 if 문에하지 않을는 FileAttributes.Normal

오류입니다 .. 경로에 액세스를 만들기 위해 'C : \를 Inetpub \ wwwroot에 \ WTExpenditurev01_VSS_UploadFiles \ Winter.jpg '이 거부되었습니다.

+0

중복 가능성 (http://stackoverflow.com/questions/2316308/remove-readonly-of-folder-from-c) – onof

답변

6

사용하는 System.IO.DirectoryInfo class :

var di = new DirectoryInfo(folderName); 

if(di.Exists()) 
{ 
    if (di.Attributes.HasFlag(FileAttributes.ReadOnly)) 
    { 
    //IsReadOnly... 
    } 
} 
[C#에서의 판독 전용 폴더 제거]의
+0

.. "FolderName"대신 경로를 지정해야합니까? –

+0

예 물론 맞습니다. 편집 및 링크를 참조하십시오 ;-) –

+0

읽기 전용이 아닌 것으로 설정할 수있는 방법은 무엇입니까? 아직까지 내가 한 일에 대한 편집 된 질문을 참조하십시오 ... –

관련 문제