0
データベースから取得した画像パスに画像を保存したいのですが、「メモリ不足」というエラーが表示されます。次のコードは間違っていますか?ビットマップメモリ不足エラー
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
...変換してDBに保存したときに画像が破損した場合にもエラーが発生します – Plutonix
ルートへの書き込みアクセス権がない可能性があります。 – TaW