Cee08 Ответов: 1

Способ отображения BLOB-объектов изображений, с использованием MySQL в ASP.NET в C#?


У меня возникли проблемы с отображением изображений из базы данных MySql с типом данных Medium Blob ASP.Net с#

Что я уже пробовал:

Я попробовал это сделать, но он ничего не отображает и не выдает сообщения об ошибке. Я использовал этот код ниже в SQL database (Microsoft Server Management Studio), он отлично работал с VARCHAR MAX.

<asp:Image ID="prodImg" ImageUrl='<%#Eval("image") %>' class="prodImage" runat="server" />

Есть ли какой-нибудь способ вместо этого отобразить blob-объект в коде? Заранее большое вам спасибо!

OriginalGriff

"Это не работает", вероятно, самый бесполезный отчет о проблеме, который мы получаем - и мы получаем его много. Она ничего не говорит нам о том, что происходит или когда это происходит.
Итак, расскажите нам, что он делает, чего вы не ожидали, или не делает, что вы сделали.
Расскажите нам, что вы сделали, чтобы это произошло.
Сообщайте нам о любых сообщениях об ошибках.
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Cee08

Извините. Он не отображает ничего и никакого сообщения об ошибке. Я использовал приведенный выше код в SQL database (Microsoft Server Management Studio), он отлично работал с VARCHAR MAX.

1 Ответов

Рейтинг:
1

MadMyche

Посмотрите на Url_изображения атрибут. Обычно это будет URI изображения, но в вашем случае вы хотите поместить содержимое файла непосредственно в него.

Есть несколько вещей, которые нужно сделать, чтобы заставить это работать:
1. Вы должны сообщить элементу управления изображением, что вы даете ему данные (перед словом "данные:")
2. Вам нужно сообщить элементу управления изображением, какой это тип изображения (например, "image/gif;")
3. Вам нужно сообщить управлению изображением формат данных (например: "base64,")
4. Вы должны дать управлению изображением данные в этом формате.

Содержание этого Url_изображения так как струна тогда будет выглядеть примерно так

string img = "data:image/gif;base64," + Convert.ToBase64String(<%#Eval("image"));


Richard Deeming

Небольшая синтаксическая ошибка в вашем коде:

ImageUrl='<%# "data:image/gif;base64," + Convert.ToBase64String((byte[])Eval("image")) %>'

Cee08

Ничего не случилось сэр :(

Cee08

@MadMyche он говорит, что слишком много символов в символьных литералах.

MadMyche

Вы используете одинарные или двойные кавычки?

Cee08

Я попробовал ваш код выше, но там написано struct System.Логический
Представляет логическое значение (true или false). Оператору '<' должен предшествовать пробел. Оператор должен сопровождаться пробелом. Недопустимый термин "<"

Затем я добавил %>'

строка img = "data:image/png;base64," + Convert.ToBase64String('<%#Eval("image") %>');

Он говорит, что слишком много символов в символьных литералах.