PDA

View Full Version : سوال: مشکل در ذخیره تصویر



hahaie
سه شنبه 25 خرداد 1395, 14:01 عصر
دوستان سلام.
بنده برای ذخیره تصویر از کد زیر استفاده میکنم:


byte[] myarray;
System.IO.MemoryStream mymemory = new System.IO.MemoryStream();
img.Save(mymemory, Pic_Sta.Image.RawFormat);
myarray = mymemory.GetBuffer();

فیلد توی جدول از نوع varbinary(max) ایجاد شده و عملیات درج هم توسط پروسیجری که توی sql server ایجاد شده انجام میگیره.
فیلد ورودی پروسیجر هم دقیقا از نوع varbinary(max) هستش و متغیر myarray هم به اون ارسال میشه.
مشکلی که داره اینه که اگه کاربر عکسی رو انتخاب نکرد با اینکه خودم مقدار myarray رو برابر null قرار میدم و به پروسیجر میفرستم ولی توی جدول مقدار "0x" یا "00x" برای فیلد تصویر ذخیره میشه و وقتی این مقدار رو به pictureBox نسبت میدم خطا میده:parametter is not valid
چرا؟

ژیار رحیمی
سه شنبه 25 خرداد 1395, 16:39 عصر
دوست گرامی برای ست کردن عکس کاربر از طریق یک OpenDialogBox اقدام میکند از همین جا میتونی نتیجه OpenDialog رو چک کنی و براش شرط بزاری اگر کاربر عکسیو انتخاب کرد فرایند تبدیل عکس به باینری صورت گیرد و در غیر اینصورت فیلد عکس در جدول که Nullable هم هست دیگر مقداری رو بهش ندی.الان با این روش شما وقتی کاربر عکسی رو انتخاب نکرده مقدار null رو تبدیل به آرایه ای از بایت ها میکنی و در فیلد مورد نظر ذخیره میکنی. در حالت معکوس این تبدیل مجدد صورت گیرد و در picturebox ریخته شود با خطا مواجه خواهی شد.
00x=null