簡體   English   中英

如何在ASP.NET MVC3中顯示圖像

[英]How to display image in asp.net mvc3

我已經在其中開發了一個asp.mvc3 Web應用程序,將圖像名稱和一些文本保存到數據庫中。當我嘗試從數據庫中獲取圖像時,它不顯示圖像。實際上在我的本地計算機上,一切正常但是,當我在服務器中測試無法正常工作時,請幫助我。

 <% 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>

您可以設置一個控制器操作來提供圖像:

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.Action幫助程序構建圖像的url,而不是對其進行硬編碼,這將確保無論在哪里托管應用程序,此代碼都可以工作。

在您的代碼中,您已經對URL進行了硬編碼,這當然是行不通的,因為在部署應用程序時,是因為IIS中需要使用虛擬目錄的名稱:

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

因此,在處理url時始終使用URL幫助器:

<img src="<%= Url.Action("Getimage1", "Images") %>" alt="" />

只需在img元素中使用圖像的路徑即可:

<img src="path to image" />

這是您的控制器。

 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>

希望這可以幫助...

使用圖像服務器路徑。 就像www.xyz.com/images.abc.png一樣,您應該提供這樣的圖像路徑,以便它將來自服務器的圖像路徑

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM