2017-03-14 15 views
0

System.Web;을 사용하여 winform 데스크톱 응용 프로그램의 서버에있는 텍스트 문서를 읽고 쓰려고합니다. 우선 파일이 있는지 확인해야합니다. 확실하지 왜,하지만 System.Web는 System.Web.HttpContext읽고 쓸 서버에 파일이 있는지 확인하십시오.

System.Web.HttpContext.Current.Server.MapPath(siteDir); 
+0

'System.Web.Hosting.HostingEnvironment.MapPath (siteDir);을 시도하십시오. –

+0

이것은 데스크톱 응용 프로그램입니까, 아니면 웹 응용 프로그램입니까? 거기에 winforms 태그를 넣어 두었습니다. 이것은 데스크톱 응용 프로그램임을 나타냅니다. – Sparrow

+0

어셈블리 'System.Web.dll'을 참조해야합니다. –

답변

1

WebClient.DownloadFile()을 사용하는 것입니다 할 수있는 간단한 방법

string siteDir = "http://www.site.info/doc.txt"; 

if (File.Exists(Server.MapPath(siteDir))); 

같은 System.Web로 참조 추가됩니다 작동하지 않습니다 사용중인 것과 같은 URL에서 파일을 다운로드하려고 시도합니다. WebException이 throw되고 HTTP 오류가 404 File Not Found 인 경우 파일이 서버에 없거나 액세스 할 수 없습니다.

참조 : 404 오류를 감지하는 방법에 대한 정보는 How to catch 404 WebException for WebClient.DownloadFileAsync을 참조하십시오.

WebClient 파일이 서버에 있는지 단순히 확인하는 방법은 없습니다.

+0

안녕하세요, 고마워, 이렇게 해냈어. HttpWebResponse resp = ex.Response as HttpWebResponse; if (resp.StatusCode == HttpStatusCode.NotFound) {// 404} – nikorio

-1
use System.IO.File.Exists() 

if(System.IO.File.Exists([path of file])) 
{ 
    // do something 
} 
+1

OP는 이미 질문에서'File.Exists'를 사용하고 있습니다. –