如何在asp.net中显示数据库中的图像

时间:2014-09-21 06:03:40

标签: asp.net image

我已将图像保存在数据库中并希望在asp.net中显示,我有字节数组,MIME和大小......

    var da = new SqlDataAdapter("GetBlob", sqlConnection);
                da.SelectCommand.CommandType = CommandType.StoredProcedure;
                da.SelectCommand.Parameters.AddWithValue("@BlobId", blobDto.BlobId);
                var ds = new DataSet();
                da.Fill(ds, "GetBlob");
                var dr = ds.Tables[0].Rows[0];
                var byteArray = (byte[]) dr["BlobData"];
                string MIME=dr["MIME"]; e.g .jpg

请帮助我如何显示此图片

1 个答案:

答案 0 :(得分:0)

您可以将字节数组转换为base64编码字符串,并将其作为img属性传递给某个src标记。 base64编码图像的src属性格式为 - 数据: conentType ; base64, theBase64string

要将字节数组转换为base64字符串,请使用Convert.ToBase64String(byteArray);

示例C#:

byte[] bytes = new byte[]{ }; // .. Get it from database
string contentType = "image/jpeg"; // .. Get it from database

string imageSrc = string.Format("data:{0};base64,{1}", 
    contentType, Convert.ToBase64String(bytes));

在Html中:

<img src="@imageSrc" />
// Or
<img src="<%= imageSrc =>" />
// Depending on your view engine