powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Отображение рисунка из БД
10 сообщений из 10, страница 1 из 1
Отображение рисунка из БД
    #33272224
hunter79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть рисунок (image type, ms sql) в БД. Я его тяну и хочу на нем еще что-нибуть дорисовать. А потом отобразить в WebControl'у Image.

Какие варианты посоветуете? Вытянуть, использовать какой-то .NET класс для его обработки, сохранить на диске, указать Image.ImageUrl на файл?

Можно ли прямо данные из DataSet'а запихнуть в WebControl Image? И как потом с этим рисунком работать?

Ссылки может есть на схожую тему?
...
Рейтинг: 0 / 0
Отображение рисунка из БД
    #33274503
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если схематично , то так
Dim DR As SqlClient.SqlDataReader
dim FileStream as Stream
....
FileStream.Write (DR.GetSqlBinary(0).Value, 0, DR.GetSqlBinary(0).Length)
Dim myIMG As System.Drawing.Image = System.Drawing.Image.FromStream(FileStream)
....
myimg.Save .....



...
Рейтинг: 0 / 0
Отображение рисунка из БД
    #33274507
hunter79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда делаю myimg.Save(..)
ругается "System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+."
...
Рейтинг: 0 / 0
Отображение рисунка из БД
    #33274557
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чо то не так с картинкой
глянь здесь
...
Рейтинг: 0 / 0
Отображение рисунка из БД
    #33274830
hunter79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это код на который ругается (на методе Save(..)):
if (ds.Tables[0].Rows.Count > 0) {
// Read image from dataset and save into file on disk.
bImage = (Byte[])ds.Tables[0].Rows[0][0];
// Save array of bytes into stream.
strm = new MemoryStream(bImage);
img = System.Drawing.Image.FromStream(strm);
strm.Close();
filePath = dirPath + @"\Images";
Directory.SetCurrentDirectory(filePath);
try { img.Save(areaID.ToString(), System.Drawing.Imaging.ImageFormat.Bmp); }
finally { img.Dispose(); }
image.ImageUrl = filePath + @"\" + areaID.ToString() + ".bmp";
}

Что интересно, свойства img соотв. свойствам рисунка (который я загружал в БД) кроме одного - RawFormat, оно его просто не распознает.
...
Рейтинг: 0 / 0
Отображение рисунка из БД
    #33274831
hunter79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То-есть сам файл появляется (322.bmp, напр.), но его размер = 0.
...
Рейтинг: 0 / 0
Отображение рисунка из БД
    #33274847
hunter79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот прочитал:
"Метод Save не работает с объектами Image, загруженными из метафайла или хра-
нящимися в битовой карте в памяти. Кроме того, нельзя сохранить изображение
в формате метафайла или битовой карты в памяти"
...
Рейтинг: 0 / 0
Отображение рисунка из БД
    #33274931
hunter79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот так все работает:
if (ds.Tables[0].Rows.Count > 0) {
// Read image from dataset and save into file on disk.
bImage = (Byte[])ds.Tables[0].Rows[0][0];
// Save array of bytes into stream.
strm = new MemoryStream(bImage);
img = System.Drawing.Image.FromStream(strm);
newImg = img.GetThumbnailImage(img.Width, img.Height, null, new IntPtr());
strm.Close();
filePath = dirPath + @"\Images";
Directory.SetCurrentDirectory(filePath);
try { newImg.Save(areaID.ToString() + ".bmp"); }
finally {
img.Dispose();
newImg.Dispose();
}
image.ImageUrl = filePath + @"\" + areaID.ToString() + ".bmp";
}
...
Рейтинг: 0 / 0
Отображение рисунка из БД
    #33276269
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ваще задумка - картинки в базу - оказалась оч интересной, хотя бы потому, что нет временных файлов. Вот тока интересен вопрос быстродействия. Что резвей - брать фотку из базы или файла ? Чую что с файла быстрей. Но по логической организации хранения данных - мне больше понравился вариант с БД.
по такой схеме я сделал фотоальбомы выпускников www.kvirtu.ru/photo.aspx .

...
Рейтинг: 0 / 0
Отображение рисунка из БД
    #33277340
хм...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeа ваще задумка - картинки в базу - оказалась оч интересной, хотя бы потому, что нет временных файлов. Вот тока интересен вопрос быстродействия. Что резвей - брать фотку из базы или файла ? Чую что с файла быстрей. Но по логической организации хранения данных - мне больше понравился вариант с БД.ссылка на соответствующее обсуждение http://www.sql.ru/forum/actualthread.aspx?tid=200895
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Отображение рисунка из БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]