图像转换从varbinary数据显示空白图像如下图1所示

时间:2016-08-02 10:28:46

标签: c# sql asp.net-mvc

这是显示转换后图像的页面 This is the Page which displays the converted image.

这是我的表格中二进制图像数据ScreenPic的数据 this is the data of my table for binary image data ScreenPic.

请帮忙.. 让我知道从数据库中获取图像的问题 用于将二进制转换为图像逻辑的代码。:

namespace OverHR.Common
{
    public class Common
    {
        public static Image byteArrayToImage(byte[] ba)
        {
            MemoryStream ms = new MemoryStream(ba);
            Image returnImage = Image.FromStream(ms);
            return returnImage;
        }


    }
}

用于显示来自数据库的图像的代码:

@model List<OverHR.DAL.ScreenLog>

<table class="table table-striped">
    <tr>
        <th>Pic</th>

    </tr>

    <tbody>
        @foreach (var item in Model)
        {           
            var image=@item.ScreenPic;

            <tr>
                <td>
                    <img src="@OverHR.Common.Common.byteArrayToImage(image.ToArray())" width="320" height="240">
                </td>       
            </tr>
        }
    </tbody>
</table>

从数据库获取图像的逻辑:

public List<ScreenLog> GetScreen()
{
    using (OverSeasHRDbDataContext ctx1 = new OverSeasHRDbDataContext())
    {
        var lstScr = ctx1.ScreenLogs.Where(p => p.AttendanceId == 193).ToList();
        return lstScr;
    }
}

1 个答案:

答案 0 :(得分:1)

我已经搜索过了,我找到了解决方案,数据库表中有很多图像并且通过查询获取它需要花费很多时间,因此图像无法从数据库中获取数据并获得超时,因此对于我使用的解决方案linq查询只获得10张图片,它对我有用....