alias136790
جمعه 20 اردیبهشت 1392, 03:58 صبح
من میخوام یه عکس رو تو دیتابیس ذخیره کنم و از یکی از این متدها برای تبدیل عکس به []byte استفاده میکنم:
public byte[] GetPhoto(string filePath)
{
FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(stream);
byte[] photo = reader.ReadBytes((int)stream.Length);
reader.Close();
stream.Close();
return photo;
}
یا
public byte[] GetPhoto(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms.ToArray();
}
و سپس عکس رو بصورت Image در دیتایس ذخیره میکنم.
این متدها کار میکنه و عکس در دیتابیس ذخیره میشه، اما مشکل اینجاست که اگر من برنامه رو باز کنم، بیام عکس شماره 1
رو در دیتابیس ذخیره کنم بعد بخوام عکس شماره 2 رو ذخیره کنم،در دیتابیس باز دوباره عکس شماره 1 ذخیره میشه.
لطفا کمک کنید این ایراد رو برطرف کنم.
public byte[] GetPhoto(string filePath)
{
FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(stream);
byte[] photo = reader.ReadBytes((int)stream.Length);
reader.Close();
stream.Close();
return photo;
}
یا
public byte[] GetPhoto(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms.ToArray();
}
و سپس عکس رو بصورت Image در دیتایس ذخیره میکنم.
این متدها کار میکنه و عکس در دیتابیس ذخیره میشه، اما مشکل اینجاست که اگر من برنامه رو باز کنم، بیام عکس شماره 1
رو در دیتابیس ذخیره کنم بعد بخوام عکس شماره 2 رو ذخیره کنم،در دیتابیس باز دوباره عکس شماره 1 ذخیره میشه.
لطفا کمک کنید این ایراد رو برطرف کنم.