2014-09-21 45 views
1

显示图像我在数据库中保存的图像,并想显示它在asp.net中,我有字节数组和MIME和大小...如何从数据库在asp.net

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 

请帮助我如何我可以显示此图像

回答

0

您可以将您的字节数组转换为base64编码的字符串,并将它传递给img标记作为src属性。 base64编码图像的src属性格式为 - data: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 
+0

我尝试过,但它不能正常工作,它实际上说明不了什么! – user3698913 2014-09-21 07:51:31

+0

它按我描述的那样工作。如果它不适合你,那么问题就在你的代码中。请分享更多的代码,并告诉您使用了哪些确切的技术,以便我可以制作出更完整的示例。现在,这里是ASP.NET MVC的[dotnetfiidle demo](https://dotnetfiddle.net/hksAY2)。 – 2014-09-21 08:30:40