2011-01-12 22 views
6

GoDaddy에 웹 사이트가 있습니다. 모든 사용 권한이 올바르게 설정되고 이미지가 존재합니다. 그러나 선택한 항목의 이미지가 페이지에로드 될 때 표시되지 않습니다. 여기이미지 URL은 정확하지만 이미지가 표시되지 않습니다.

 imagepath = "~/spaimages/" + currentSpaModel.Name.ToString() + ".png"; 
     if (File.Exists(Server.MapPath(imagepath))) 
     { this.spaimage.ImageUrl = Server.MapPath(imagepath); } 

spaimage는 ASP 제어 및 이미지가 설정되어 있는지 THR URL은 D 내 코드입니다 : 호스팅 \ \ XXXXXXX \ calspas \ spaimages \ modelname.png 내가 잘못 뭐하는 거지

.

답변

14

파일 경로 D:\hosting\xxxxxxx\calspas\spaimages\modelname.png은 웹 서버에 이미지가있는 폴더입니다. 이것을 태그의 src 속성으로 보내면 브라우저에 "이미지 가져 오기 : D:\hosting\xxxxxxx\calspas\spaimages\modelname.png"이라고 알립니다. 브라우저는 웹 서버의 D 드라이브로 이동할 수 없으므로 자체 D 드라이브에서 해당 폴더와 이미지를 찾습니다.

<img> 태그의 src 속성을 웹 사이트에있는 폴더의 경로로 지정하는 것입니다. 이제 방금 도착했습니다. ImageUrl 속성에 이미지 경로를 지정할 때 Server.MapPath 부분을 드롭하면됩니다.

this.spaimage.ImageUrl = Server.MapPath(imagepath); 

해야 할 것 : : 그 대신이라고 작동하는지

this.spaimage.ImageUrl = imagepath; 

을 참조하십시오.

감사합니다.

+0

Scott 당신은 최고입니다, 완벽하게 작동했습니다. – mattgcon

2

이미지가 표시되지 않는 경우 ("깨진 이미지"를 표시하기 위해 red-x-equivalent라고 표시되어 있음) 종종 깨진 이미지를 마우스 오른쪽 버튼으로 클릭하고 URL을 복사 한 다음 별도의 브라우저 창.

이 방법을 사용하면 이미지가 일부 스크립트에 의해 생성 될 때 스크립트가 표시했을 수있는 오류 텍스트가 표시됩니다. 그렇지 않으면 실제 이미지가 표시됩니다.

은 또한 디버깅 목적

else 
{ 
    Response.Write(string.Format(
     "File does not exist at '{0}'.", 
     Server.MapPath(imagepath))); 
} 

같이

if (File.Exists(Server.MapPath(imagepath))) 

else 블록을 추가한다.

+0

사실은 ASP 이미지 컨트롤은 빨간색 x가없는 작은 상자를 보여줍니다. 그리고 이미지 속성을보기 위해 마우스 오른쪽 버튼을 클릭해도 아무것도 보이지 않지만 소스를 볼 때 URL이 표시됩니다. – mattgcon

관련 문제