Как отобразить изображение в asp.net mvc3 - PullRequest
1 голос
/ 16 июня 2011

Я разработал веб-приложение asp.mvc3, в котором я сохранил имя изображения и текст в базу данных. Когда я пытаюсь получить изображение из базы данных, оно не показывает изображение. На самом деле, на моей локальной машине всеработает нормально, но когда я тестирую на сервере, он не работает, пожалуйста, helpme.

 <% for (int v = 0; v < Listdata.Count; v++)
       { %>
    <%if (j == 1)
      { %>

    <%if (count < Listdata.Count)
      { %>
    <tr>
        <%string Imageurl = Listdata[count].ToString();%>
        <%string[] GetImages = Imageurl.Split(','); %>
        <%string imagedata = GetImages[1].ToString(); %>
        <% Getimage1 = imagedata.Substring(9, imagedata.Length - 10); %>
        <li class="menu"><a href='<%=Html.Encode(Geturl) %>'>
            <img src='/Images/<%=Html.Encode(Getimage1)%>' alt="" style="margin-top: 0px; width: auto;
                height: 200px;" /></a></li>
        <%} %>
        <td>
            <li class="menu"><span style="float: left; margin-left: 5px;">
                <%=Html.Encode(Postdate)%></span><br />
                <a href="DisplayData/<%=Html.Encode(item.postid) %>"><span class="name">
                    <%=Html.Encode(item.post)%></span><span class="arrow"></span></a></li>
            <%j++; i = 2; count++; %>
            <%}

       }

      } %>
            <%} %>
        </td>

Ответы [ 4 ]

6 голосов
/ 16 июня 2011

Вы можете настроить действие контроллера, которое будет обслуживать изображение:

public ActionResult MyImage()
{
    byte[] image = ... go and fetch from DB
    return File(image, "image/png");
}

и, на ваш взгляд, просто укажите это действие:

<img src="<%= Url.Action("MyImage", "SomeController") %>" alt="my image" />

Обратите внимание на то, как URL-адрес изображения создается с помощью помощника Url.Action вместо его жестко заданного кода, который гарантирует, что этот код будет работать независимо от того, где размещено приложение.

В вашем коде вы жестко запрограммировали URL, который, конечно, не будет работать, потому что при развертывании приложения, поскольку в IIS есть имя виртуального каталога, который необходимо использовать:

<img src='/Images/<%=Html.Encode(Getimage1)%>' alt="" />

Поэтому всегда используйте URL-помощники при работе с URL:

<img src="<%= Url.Action("Getimage1", "Images") %>" alt="" />
2 голосов
/ 19 ноября 2011

Вот ваш контроллер ..

 public ActionResult LoadImg(int id)
    {
        byte[] image = null;

        tblImage img = en.tblImages.FirstOrDefault(i => i.ImgId == id);
        image = (byte[])img.ImgSrc;
        return File(image, "image/png");
    }

Вот ваш взгляд

<div id="imagebox1" align="center">
                <img height="80" width="140" class="imgThumb" src="@Url.Action("LoadImg", "Image", new { id = m.ImgId })" alt="Loading..." />
            </div>

Надеюсь, это поможет ...

2 голосов
/ 16 июня 2011

Просто используйте путь к изображению в элементе img :

<img src="path to image" />
0 голосов
/ 02 ноября 2012

Использовать путь к серверу изображений.это будет похоже на www.xyz.com/images.abc.png, вы должны указать путь к изображению таким образом, чтобы он брал путь к изображению с сервера

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