Изображение не отображается, даже когда я вижу его в браузере - PullRequest
0 голосов
/ 12 ноября 2018

Я пробовал более двух часов и не могу найти ответ на эту проблему. У меня есть эта часть кода в виде строго напечатаны в MVC:

<td>
    @foreach (var TitleBook in Directory.GetFiles(Server.MapPath("~/App_Data/Images"), "*.jpg"))
    {
        var fileName = Path.GetFileName(TitleBook);
        if (Convert.ToInt32(fileName.Substring(0,3)) == item.IdBook)
        {
            <img src="@TitleBook" alt="Alternate Text" height="100" width="100">
        }
    }
</td>

Имя файла изображения создано, поэтому три первых символа в имени файла являются числами.

Когда я запускаю код, я получаю альтернативное сообщение для изображения в представлении hmtl. Тем не менее, путь к этому изображению хорошо прочитан, и я знаю его, потому что я могу получить его, выполнив проверку в браузере и вызвав только часть src в другом окне, которое показывает изображение, как и ожидалось (извините за мой английский). CSS обрабатывается версией Boostrap, установленной в VS2017. Может ли кто-нибудь указать на мою ошибку здесь?

1 Ответ

0 голосов
/ 12 ноября 2018

Ваш titleBook - это полный физический путь. Но <img> хочет URL.

Непроверенные:

<img src="~/App_Data/Images/@fileName" alt="Alternate Text" height="100" width="100">

Кстати: с Directory.GetFiles(..., $"{item.IdBook:D3}*.jpg")) вам не понадобится цикл foreach.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...