Я хочу сохранить изображение на мой путь к изображению, который я получил из базы данных, но я получаю ошибку «Из памяти». Что это значит, что я неправильно делаю следующий код?Bitmap Out Of Memory Ошибка
cmd.CommandText = "SELECT imageColumn FROM PhotoTable WHERE id= :id";
cmd.ClearParameters();
cmd.Parameters.AddWithValue(":id", Id);
cmd.ExecuteDataReader();
if(cmd.DataReader.Read())
{
var lob = cmd.ExecuteReader().GetOracleLob(0);
var image = new Bitmap(lob);
picturebox1.Image = image;
picturebox1.SizeMode = PictureBoxSizeMode.StretchImage;
}
filePathName="c://image1.jpeg"//save path and file name
var bm = new Bitmap(picturebox1.Image);
bm.Save(filePathName, System.Drawing.Imaging.ImageFormat.Jpeg);
Недостаток памяти - это общая ошибка от GDI + (который используется «Bitmap»), не обязательно фактическое условие отсутствия памяти. Скорее всего, изображение повреждено или в неподдерживаемом формате (или размере или что-то еще). Попробуйте сохранить байты непосредственно на диск ('File.WriteAllBytes') и посмотреть, что это за файл. – Luaan
... вы также получите эту ошибку, если * вы * испортили изображение при преобразовании и сохранили его в БД – Plutonix
Возможно, у вас нет права на запись в корневой каталог. – TaW