PDA

View Full Version : سوال: مشکل با دستور Pic.Save هنگام Update تصاویر



b.mahsa
شنبه 10 اردیبهشت 1390, 13:13 عصر
با سلام
من برای تبدیل Image به Byte برای ذخیره عکس در فیلد varbinary از کد زیر استفاده میکنم



public

staticByte[] GetBytes(Image Pic)

{
try
{
if (Pic == null)
returnnull;
Byte[] ByteValue;
MemoryStream ImageStream = newMemoryStream();
Pic.Save(ImageStream, Pic.RawFormat);
ByteValue = ImageStream.ToArray();
return ByteValue;
}
catch (Exception)
{
throw;
}
}

هنگام insert مشکلی وجود نداره .
ولی موقع error updateزیر رو میده..:متفکر:

A generic error occurred in GDI+.

ممنون میشم راهنماییم کنین.

صلاح68
شنبه 10 اردیبهشت 1390, 13:36 عصر
سلام خسته نباشید ببخشید میشه یه برنامه که بتونه عکس با فرمت بی ام پی رو بخونه برام بزارید ممنون میشم.از کامپوننت های آماده استفاده نکنه وپیکسل به پیکسل بخونه.
samfad6373@yahoo.com

b.mahsa
یک شنبه 11 اردیبهشت 1390, 08:19 صبح
خیلی عجیبه
برای update عکس هایی با فرمت png این مشکل وجود نداره . عکس با همون متد update میشه بدون Error اما عکس های با فرمت jpg اون error رو دارن :متعجب:

saeid4634
یک شنبه 01 آبان 1390, 11:03 صبح
قبل از pic.Save اين خط رو اضافه كن.
GC.Collect();
موفق باشيد.

gwbasic
یک شنبه 01 آبان 1390, 12:30 عصر
MemoryStream رو باید Dispose کنین


staticByte[] GetBytes(Image Pic)
{
try
{
if (Pic == null)
returnnull;
Byte[] ByteValue;
using(MemoryStream ImageStream = newMemoryStream())
{
Pic.Save(ImageStream, Pic.RawFormat);
ByteValue = ImageStream.ToArray();
}
return ByteValue;
}
catch (Exception)
{
throw;
}
}