ذخیره و بازیابی تصاویر در دیتابیس با استفاده از Entity Framework

دوشنبه 6 خرداد 1392

ذخیره و بازیابی تصاویر در دیتابیس با استفاده از Entity Framework <br/> برای افراد زیادی این سوال همیشه مطرح هستش که چطور میتوانیم عکس ها رو در دیتابیس ذخیره و بازیابی کنیم. به همین دلیل تصمیم گرفتم که یه مقاله مختصری در این مورد تهیه کنم و در اختیار همه بزرگوارن قرار بدهم.

با سلام
برای افراد زیادی این سوال همیشه مطرح هستش که چطور میتوانیم عکس ها رو در دیتابیس ذخیره و بازیابی کنیم.  به همین دلیل تصمیم گرفتم که یه مقاله مختصری در این مورد تهیه کنم و در اختیار همه بزرگوارن قرار بدهم.

** از همین مقاله میتوانید برای ذخیره و بازیابی هر نوع فایلی در دیتابیس استفاده کنید.

گام اول ایجاد جدول:
نکته مهم اینجا این هستش که دیتاتایپ ستونی رو که برای ذخیره عکس درنظر گرفتید از نوع varbinary(max) انتخاب کنید. دیتا تایپ image هم برای این نوع داده ها می باشد اما مایکروسافت پیشنهاد میکنه که دیگه از این دیتا تایپ استفاده نکنید و به جاش از همون دیتاتایپ varbinary(max) استفاده کنید.

اسکریپت ایجاد جدول:

اما گام دوم ذخیره سازی عکس هستش.
ابتدا فرم رو میچینیم. برای اینکه اطلاعات کاربر رو توی دیتابیس ذخیره کنیم از یک Textbox برای نام کاربری و یک Fileupload برای آپلود تصاویر کاربران استفاده کردم.

تو گام بعدی کافیه که یه ADO.Net Entity Data Model به سیستم اضافه کنید و مراحل ویزاردی رو تا آخر بروید.
پیشنهاد میکنم یه نگاهی به Entity که ساخته شده بندازید. می بینید که دیتاتایپ ستون تصویر byte[] است. (آریه ای از بایت.)
حالا به سراغ code behind میریم.  برای ذخیره سازی عکس تنها از این چند خط کد ساده و بدون دردسر استفاده میکنیم:


خوب عکس ها با موفقیت توی دیتابیس ذخیره شد. حالا باید عکس ها رو بخونیم و به کاربر نشون بدیم.اینکار توی وب یه کوچولو دردسر داره.

مجدداً چینش فرم برای نمایش اطلاعات:

بهترین روش اینه که شما از یک http Handler استفاده کنید.
از منوی add new Item یه Generic handler انتخاب کنید و اون رو به پروژه اضافه کنید. من اسمش رو ShowImages انتخاب کردم. توجه داشته باشید که پسوند این فایل ashx هستش.

اینم کدی که برای http handler استفاده کردم:

و برای استفاده از این http handler توی Codebehind از این تیکه کد استفاده میکنم:

کاری از محسن کاویانی

فایل های ضمیمه

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید