отображать изображения в элемент управления Repeater с помощью LINQ данных


У меня есть linq datasource к управлению повторителем в asp.net.
Я хочу отобразить изображения, хранящиеся в таблицах базы данных.

у меня есть таблица категорий и таблица продуктов среди других таблиц, когда я использовал этот код

<% Eval("CategoryImage")%> .

Он отображает System.byte[] в браузере, и когда я использовал ASP image control с Eval();, он дает мне обычный значок сломанного изображения.

Может ли кто-нибудь предложить мне способ вставить изображение непосредственно из самого mysql database через linq datasource..
И как я могу форматировать HTML-теги в переполнение стека и теги asp тоже..

Спасибо, заранее помощь оценил...

1 2

1 ответ:

Вы можете использовать эту функцию

 public Image byteArrayToImage(byte[] byteArrayIn)
 {
    MemoryStream ms = new MemoryStream(byteArrayIn);
    Image returnImage = Image.FromStream(ms);
    return returnImage;
 }

Для преобразования массива байтов в изображение.

И если у вас есть byte array в Eval("CategoryImage"), то вы можете также вызвать эту функцию из Eval.
Как

<%# byteArrayToImage(Eval("CategoryImage"))%>

Не проверено, но должно работать.

Правка 1

Вот хорошая Ссылка
argumentException была необработанной ошибкой при преобразовании байта массива в изображение
Как преобразовать массив байтов в изображение и отобразить в datagrid?