MVC 2에서 ASP.NET을 사용하고 있으며 로컬 파일 URL을 서버 주소로 변환하는 데 문제가 있습니다. 그것은 상당히 간단하고 일반적인 작업처럼 보일 수 있지만 Google 검색은 나에게 좋은 답변을 제공하지 않습니다. (어쩌면 내가 검색 빨아)asp.net의 서버에서 로컬 파일의 http url 경로를 가져옵니다.
나는보기에서 HTML 양식에서 파일을 가져 와서 디스크에 저장 컨트롤러가 있습니다. 이 파일의 실제 URL을보기로 되돌려 보내야합니다. 어떤 방법을 사용하든 항상 http 경로 대신 파일의 로컬 경로가있는 문자열을 얻습니다.
일단 프로젝트가 배포되면 url이 http 주소로 변환 될 수 있다고 생각하지만 디버깅 할 때 아무 것도 하드 코드하지 않아도 서버 주소가 필요합니다.
string url = Url.RequestContext.HttpContext.Server.MapPath("~/Content/Files/" + Path.GetFileName(file.FileName));
// outputs: "C:\\Users\\xxx\\Documents\\Visual Studio 2010\\Projects\\[ProjectName]\\Content\\Files\\file.png"
// whereas i'd like something like "http://localhost/Content/Files/file.png" instead
아이디어 :
어떤 컨트롤러 메소드에서 다음과 같은 예를 생각해?
을'Server.MapPath'는 로컬 파일을 반환, 로컬 파일에 대한 URL을 매핑합니다. 사용하지 마십시오. – Oded