سلام میشه بگین چجوری میتونم عکسی داخل دیتابیسم ذخیره کنم البته میخوام فقط نامش ذخیره بشه و بعد داخل برنامه در دیتاگرید عکسم نمایش پیدا کنه؟؟؟؟
مرسی ولی من میخوام خود عکس توی دیتابیس داشته باشم که بتونم توی خود دیتا گرید نمایشش بدم
دوست عزیز من مشکلم حل شد ممنونم ازتون
و شما دوست عزیز mehrnazhadi
داخل دیتا گریدتونم باید فیلد تصویر به صورت Image باشه
من دارم Ado میگم
سلام.نظرات رو خوندم، مفید بود.
دوست عزیز mehrnazhadi، شما در چه محیطی و به چه زبانی میخواهید تصویر رو در بانک ذخیره کنید ؟؟؟ بفرمایید تا کد رو بدیم. اینها ساده ان نیاز نیست زیاد بگردین
نوع ستون در sql رو از نوع byte[] در نظر بگیرید.
حالا برای تبدیل عکس به byte[] متد زیر را بکار می بریم:
public static byte[] imageToByteArray(Image imageIn) { if (imageIn == null) return null; MemoryStream ms = new MemoryStream(); imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); return ms.ToArray(); }
نحوه استفاده به این شکل است : (مثال)
User user = new User(); user.Avatar=imageToByteArray(imgAvatar.Image); Context.User.Add(user); Context.SaveChanges();
به همین راحتی تصویر شما در دیتابیس ذخیره شد. ناگفته نماند imgAvatar یک کنترل PictureBox است.
حالا برای سلکت کردن کاربر ثبت شده و نمایش آواتار آن در PictureBox داریم:
User user = Context.User.FirstOrDefault();
حالا تصویر رو در متغیر user داریم ولی از نوع byte[] است و قابل نمایش در PictureBox نیستش. حالا بکمک متد زیر تبدیل به عکس میکنیم :
public static Image byteArrayToImage(byte[] byteArrayIn) { if (byteArrayIn == null) return null; MemoryStream ms = new MemoryStream(byteArrayIn); Image returnImage = Image.FromStream(ms); return returnImage; }
نحوه استفاده هم به این شکل است:
imgAvatar.Image = byteArrayToImage(user.Avatar);
ممنونم. مشکل منم حل کردید :))
سلام عذر می خوام من الان اومدم کد رو تست کنم
User user = new User(); user.Avatar=imageToByteArray(imgAvatar.Image);
این user چی هستش؟
من هر کاری کردم خطا داد و avatar رو هم نمیاره
ممنونم . خدا خیرتون بده
سلام مجدد این پیاغام خطا رو میده
Object reference not set to an instance of an object.
البته من داخل اس کیو ال فیلدی با نوع byte پیدا نکردم و از نوع var binary max استفاده کردم
اگه لطف کنین که ممنون میشم
جناب نصیری آنلاین هستین؟؟؟
بله در خدمتم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)