URL -адрес изображения правильный, но изображение не показывает
-
10-10-2019 - |
Вопрос
У меня есть веб -сайт на GoDaddy. Все разрешения устанавливаются правильно, и изображение существует. Однако, когда страница загружает изображение для выбранного элемента, не показывает. Вот мой код
imagepath = "~/spaimages/" + currentSpaModel.Name.ToString() + ".png";
if (File.Exists(Server.MapPath(imagepath)))
{ this.spaimage.ImageUrl = Server.MapPath(imagepath); }
Spaimage - это элемент управления ASP, и его изображение установлено на IS D: Hosting XXXXXXX CALSPAS SPAIMAGES MODELNAME.PNG
Что я делаю не так.
Решение
Путь файла 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);
Делать:
this.spaimage.ImageUrl = imagepath;
Посмотрите, работает ли это.
Спасибо
Другие советы
Часто, если изображение «не показывает» (я предполагаю, что эквивалент RED-X отображается, чтобы показать «сломанное изображение»), я щелкнул правой кнопкой мыши сломанное изображение, копирую URL и открываю URL в отдельном окне браузера Анкет
Таким образом, когда изображение генерируется некоторым скриптом, я вижу любой текст ошибки, который мог показать сценарий. Если нет, то реальное изображение будет отображаться.
Кроме того, добавьте else
Блок до
if (File.Exists(Server.MapPath(imagepath)))
как
else
{
Response.Write(string.Format(
"File does not exist at '{0}'.",
Server.MapPath(imagepath)));
}
Для целей отладки.