이 코드를 사용하십시오.
HttpContext.Current.Server.MapPath("~")
자세한 참조 :
Server.MapPath
물리적 디렉터리에 매핑 할 상대 또는 가상 경로를 지정합니다.
Server.MapPath(".")
실행중인 파일 (예 : aspx)의 현재 물리적 디렉토리를 반환합니다.
Server.MapPath("..")
부모 디렉터리를 반환
Server.MapPath("~")
응용 프로그램의 루트에 대한 물리적 경로를 반환합니다.
Server.MapPath("/")
도메인 이름의 루트에 대한 물리적 경로를 반환합니다 (응용 프로그램의 루트와 반드시 동일하지는 않음)
예 :
웹 사이트 응용 프로그램 ( http://www.example.com/ )을 지정 했다고 가정 해 보겠습니다.
C:\Inetpub\wwwroot
상점 응용 프로그램 (IIS의 가상 디렉터리로 하위 웹, 응용 프로그램으로 표시됨)을
D:\WebApps\shop
예를 들어 Server.MapPath
다음 요청 을 호출 하는 경우 :
http://www.example.com/shop/products/GetProduct.aspx?id=2342
그때:
Server.MapPath(".") returns D:\WebApps\shop\products
Server.MapPath("..") returns D:\WebApps\shop
Server.MapPath("~") returns D:\WebApps\shop
Server.MapPath("/") returns C:\Inetpub\wwwroot
Server.MapPath("/shop") returns D:\WebApps\shop
Path가 정방향 (/) 또는 역 슬래시 ()로 시작하면 MapPath
메서드는 Path가 전체 가상 경로 인 것처럼 경로를 반환합니다.
Path가 슬래시로 시작하지 않으면 MapPath
메서드는 처리중인 요청의 디렉터리에 상대적인 경로를 반환합니다.
참고 : C #에서 @는 그대로 사용 된 문자열 연산자이며 이스케이프 시퀀스에 대해 처리되지 않아야 함을 의미합니다.
각주
Server.MapPath(null)
및 Server.MapPath("")
도이 효과를 생성합니다.