مشکل در ذخیره تصاویر با Entity
سلام
مشکل من در ذخیره تصاویر در دیتا بیس نیست و اینکار درست انجام میشه
اما مشکل موقعیه که تصویری انتخاب نمیکنی و مقدار op خالی میمونه و ارور میده...
دوستان و اساتید لطفا راهنماییم کنید که چطور میتونم مقدار op را خالی کنم و در رکوردی که کاربر نمیخاد عکسی برای پروفایلش داشته باشه ارور نده ویژوال استودیو؟؟؟
اینم کد منه:
OpenFileDialog op = new OpenFileDialog();
private void BtnAddPic_Click(object sender, EventArgs e)
{
op.Title = "انتخاب تصویر";
op.Filter = "JPEG(.jpeg)|*.jpeg| PNG(.png)|*.png| JPG(.jpg)|*.jpg";
op.ShowDialog();
if (op.FileName!="")
{
Image newImg = Image.FromFile(op.FileName);
pbxPictureAx.Image = newImg;
}
}
و تصاویر را اینجوری ذخیره میکنم
private void bubbleButton1_Click(object sender, ClickEventArgs e)
{
TblAshkha tba = new TblAshkha
{
FName = txtFName.Text,
LName = txtLName.Text,
PictureAx = File.ReadAllBytes(op.FileName)
};
db.TblAshkhas.AddObject(tba);
db.SaveChanges();
البته کد ها رو خلاصه کردم و مدل هم ایجاد شده
نقل قول: مشکل در ذخیره تصاویر با Entity
به جای این خط ها:op.ShowDialog();
if (op.FileName!="")
{
Image newImg = Image.FromFile(op.FileName);
pbxPictureAx.Image = newImg;
}
از این خط کد ها استفاده کن:
if (op.ShowDialog() == DialogResult.OK)
{
Image newImg = Image.FromFile(op.FileName);
pbxPictureAx.Image = newImg;
}
و به جای این خط:
PictureAx = File.ReadAllBytes(op.FileName);
این خط کد هارو جایگذاری کن:
if (pbxPictureAx.Image != null)
{
Bitmap oBitmap = new Bitmap(pbxPictureAx.Image);
System.IO.MemoryStream oMemory = new System.IO.MemoryStream();
oBitmap.Save(oMemory, System.Drawing.Imaging.ImageFormat.Jpeg);
PictureAx = oMemory.GetBuffer();
}
else
{
PictureAx = null;
}
1 ضمیمه
نقل قول: مشکل در ذخیره تصاویر با Entity
نقل قول:
نوشته شده توسط
mr.sirwan
به جای این خط ها:
op.ShowDialog();
if (op.FileName!="")
{
Image newImg = Image.FromFile(op.FileName);
pbxPictureAx.Image = newImg;
}
از این خط کد ها استفاده کن:
if (op.ShowDialog() == DialogResult.OK)
{
Image newImg = Image.FromFile(op.FileName);
pbxPictureAx.Image = newImg;
}
و به جای این خط:
PictureAx = File.ReadAllBytes(op.FileName);
این خط کد هارو جایگذاری کن:
if (pbxPictureAx.Image != null)
{
Bitmap oBitmap = new Bitmap(pbxPictureAx.Image);
System.IO.MemoryStream oMemory = new System.IO.MemoryStream();
oBitmap.Save(oMemory, System.Drawing.Imaging.ImageFormat.Jpeg);
PictureAx = oMemory.GetBuffer();
}
else
{
PictureAx = null;
}
ممنون از پاسختون ولی کد های بالا رو که جایگزین کردم بازم ارور میده:
اینم عکسش:
ضمیمه 144238
متن ارور هم:
This property cannot be set to a null value
در ضمن من PictureAx را در SQL بصورت Image ثبت کردم و تیک Allow Nulls هم برداشتم
ممنون میشم اگه راه دیگه ای برای امتحان بگید؟
نقل قول: مشکل در ذخیره تصاویر با Entity
وقتی نمیخواهید مقداری ذخیره کنید باید Allow Nulls برابر true باشه. بعد از تغییر در دیتابیس ، مدل رو هم آپدیت کنید.
نقل قول: مشکل در ذخیره تصاویر با Entity
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
وقتی نمیخواهید مقداری ذخیره کنید باید Allow Nulls برابر true باشه. بعد از تغییر در دیتابیس ، مدل رو هم آپدیت کنید.
ممنونم واقعا
مدل وقتی آپدیت شد تغییری نکرد که بصورت دستی Nullable فیلد رو True کردم.
ممنون از شما دوست عزیز