首页 > 解决方案 > 如何在 ASP.NET MVC 视图中显示来自 Oracle 数据库的图像?

问题描述

我有一个 ASP.NET MVC 应用程序。在我的一个观点中,我需要显示登录人的图像。我正在做以下事情,但图像未显示在视图上。

在我看来,我有这个标记:

<div class="row">
    <div class="col-md-4 img-thumbnail" id="userimage">
    </div>
</div>
<script>
$(document).ready(function () {
        var url = "@Session("baseurl")/Navigation/ShowImage";
        $('#userimage').load(url);
}
</script>

在我的控制器中,我有以下代码:

Function ShowImage(DashBoard As DashBoard) As ActionResult
            Dim str As String
            Dim cmd As OracleCommand
            Dim dr As OracleDataReader
            Dim UserImage As Byte()

            Globals.OpenDBConnection()
            str = "Select EMP_IMAGE from EMP_MASTER,LOGIN_USER WHERE USER_EMP_CODE=EMP_CODE AND USER_ID='" + Session("UserId") + "'"
            cmd = New OracleCommand(str, Globals.oraConnection)
            dr = cmd.ExecuteReader

            If dr.Read Then
                DashBoard.UserImage = dr(0)
                'UserImage = dr(0)
            End If

            dr.Close()
            Globals.CloseDBConnection()

            Return PartialView("ShowImage", DashBoard)
            'Return File(UserImage, "image/TIFF")

        End Function

在我的部分观点ShowImage中,我有这个标记和代码:

@ModelType SdesWeb.Controls_MVC.Models.DashBoard

@code
    Dim img As String = Convert.ToBase64String(Model.UserImage)
    Dim imgsrc As String = String.Format("data:image/jpg;base64,{0}", img)
End Code

<div class="col-md-4 img-thumbnail">
    <!--<img src="data:image;base64,System.Convert.ToBase64String(@Model.UserImage)" width="80" height="80" />-->
    <img src="@imgsrc" />
</div>

我不知道我的错误在哪里。请帮我解决问题。

标签: htmlasp.net-mvc

解决方案


推荐阅读