URL -адрес изображения правильный, но изображение не показывает

StackOverflow https://stackoverflow.com/questions/4665160

Вопрос

У меня есть веб -сайт на 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))); 
}

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top