2011-03-09 4 views
32

cshtml 파일에 이미지를 표시하려고합니다. 스팸 필터를 사용하면 이미지 용 HTML을 입력 할 수 없습니다. 소스가 viewsource에서MVC보기에서 이미지 표시

src= "@Html.Encode(Model.PictureLocation)" alt="IMAGES" 

로 설정하지만 영상은 SRC 경로에서 설명한 위치에 존재

src= "C:\Documents and Settings\xxx\My Documents\Visual Studio 2010\Projects\MVC\TIQC_ServerInterface\TIQC_ServerInterface\uploads\FileUpload12011_03_02_11_49_22.jpg" alt="IMAGES" 

으로 보여준다.

실행 중에는 페이지에 이미지가 표시되지 않습니다. 여기에 잘못된 것이 있으면 알려주십시오.

답변

63

클라이언트 컴퓨터에 존재하지 않는 절대 경로를 지정했습니다.

<img src= "@Url.Content("~/uploads/FileUpload12011_03_02_11_49_22.jpg")" alt="IMAGES" /> 

또는 모델 변수가 포함 된 경우 "~/업로드/FileUpload12011_03_02_11_49_22.jpg는"당신은 할 수 :이 같은 시도 파일 내부에있는 경우 감사를했다

<img src= "@Url.Content(Model.PictureLocation)" alt="IMAGES" /> 
+0

는 –

+1

이에서만 작동합니다 웹 사이트 폴더 ... Server HardDrive에 로컬로 저장된 파일을 어떻게 표시합니까? –

+1

@StevenHernandez, 임의의 하드 드라이브 파일은 클라이언트가 직접 액세스 할 수 없습니다. 요청한 내용이 가능하다면 어떻게되는지 상상해보십시오. 파일이 웹 사이트 구조의 일부가 아니라면 서버 측 처리기 (컨트롤러)를 명시 적으로 작성해야합니다. 그러면 서버 측 노출자를 명시한 다음 클라이언트가이 사용자 정의를 가리 키도록해야합니다 매니저. –

2

src 속성의 경로는 서버의 절대 경로가 아닌 웹 사이트 루트에 대한 상대 경로 여야합니다. 따라서 귀하의 경우에는 "/uploads/FileUpload12011_03_02_11_49_22.jpg"와 같을 것입니다 ...