2011-01-12 5 views
6

У меня есть сайт на GoDaddy. Все разрешения установлены правильно, и изображение существует. Однако при загрузке страницы изображение для выбранного элемента не отображается. Вот мой кодURL-адрес изображения верный, но изображение не отображается

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

spaimage является элемент управления ASP и Чет URL, что изображения установлен в D: \ хостинг \ XXXXXXX \ calspas \ spaimages \ modelname.png

Что я делаю неправильно.

ответ

14

Путь к файлу D:\hosting\xxxxxxx\calspas\spaimages\modelname.png - это папка, в которой изображение находится на веб-сервере. Вы отправляете это как атрибут <img> тега src, который сообщает браузеру: «Пойдите, получите изображение на D:\hosting\xxxxxxx\calspas\spaimages\modelname.png». Браузер не может перейти на диск D веб-сервера, поэтому он смотрит на свой собственный диск D для этой папки и изображения.

Что вы имеете в виду, чтобы сделать это, чтобы иметь атрибут <img> тега src быть путь к папке на сайте. Вы просто там - просто отпустите часть Server.MapPath при назначении пути изображения к свойству ImageUrl. То есть, вместо того, чтобы:

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

Do:

this.spaimage.ImageUrl = imagepath; 

Смотрите, если это работает.

Thanks

+0

Скотт, ты классный, спасибо, что отлично поработал – mattgcon

2

Часто, если изображение «не отображается» (я предполагаю, что отображается красно-x-эквивалент для отображения «сломанного изображения»), я щелкаю правой кнопкой мыши на сломанном изображении, копирую URL-адрес и открываю URL-адрес в отдельное окно браузера.

Таким образом, когда изображение создается каким-либо скриптом, я вижу текст ошибки, который мог бы показать сценарий. Если нет, отобразится реальное изображение.

Кроме того, добавить else блок к

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

как

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

Для целей отладки.

+0

На самом деле, управление изображением asp показывает крошечную коробку без красного x. и когда я нажимаю правой кнопкой мыши для просмотра свойств изображения, ничего не происходит, но когда я перехожу к источнику просмотра, URL-адрес присутствует. – mattgcon