2014-09-21 4 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. Формат атрибута src для кодированного изображения base64 - данные: 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

+0

Работает, как я описал. Если это не сработает, проблема будет где-то в вашем коде. Пожалуйста, расскажите больше о своем коде и расскажите, какую именно технологию вы используете, поэтому я могу сделать более полный пример. Пока что это [dotnetfiidle demo] (https://dotnetfiddle.net/hksAY2) для ASP.NET MVC. –

Смежные вопросы