Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > сохранить-вытащить картинку с БД Oracle


Автор: retto 24.1.2011, 18:03
Банальное сохранение картинки в БД Oracle, поле типа BLOB.

сохраняю в БД через датасет. Преобразовую картинку в масси байтов:
Код

 private byte[] ImageToByteArray(System.Drawing.Image imageIn)
        {
            if (imageIn == null) return null;
            MemoryStream ms = new MemoryStream();
            imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            return ms.ToArray();
        }


вытягиваю с БД также через датасет. Преобразовую массив байтов в картинку:
Код

private Image GetImage(byte[] buffer)
        {
            return Image.FromStream(new MemoryStream(buffer));
        }



В некоторых случаях сохраняется (или вытягивается) не вся картинка, а только половину. Тобишь есть верхняя часть картинки, но нет нижней. 
Подскажите в чем может быть проблема smile

Автор: retto 26.2.2011, 12:34
решилась проблема, в DataSet, в запросе на вставку было ограничение параметра картинки в 4000 байт. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)