2012-08-02 4 views
1

서버에 저장된 이미지를 표시해야하는 페이지가 있습니다. 이미지를 찾으려면 다음 코드를 사용하십시오.System.IO.File.Exists() false를 반환합니다.

이 파일을 사용할 때 파일이 존재할 때 적절한 결과를 얻습니다.

하지만 아래와 같이 절대 경로를 줄 때 :

if (System.IO.File.Exists("http://myserever.address/filepath")) 

는 false를 돌려줍니다.

파일이 실제로 존재하지만 그 이유를 알 수 없습니다.

답변

2

System.IO.File.Exists의 path 매개 변수는 파일 시스템의 실제 파일 경로입니다.

Server.MapPath()를 호출하면 URI가 실제 파일 경로로 변경됩니다.

그래서 의도 한대로 작동합니다.

1

File.Exists에서 HTTP 경로를 사용할 수 없습니다. 네트워크 공유 및 로컬 파일 시스템을 지원합니다. 서버 측의 웹 응용 프로그램에서이 작업을 수행하려는 경우 먼저 Server.MapPath()을 사용하여 실제 위치를 찾은 다음 File.Exists를 사용하십시오.

Server.MapPath 여기에 읽기 : http://msdn.microsoft.com/en-us/library/ms524632%28v=vs.90%29.aspx

예를.

string filePath = ResolveUrl("~/filepath/something.jpg"); 

if (File.Exists(Server.MapPath(filePath))) 
{ 
    //Do something. 
} 
+0

thnx에게 도움을 요청하십시오! – priya77

관련 문제