سه شنبه , آبان ۲۹ ۱۳۹۷

ذخیره و بازیابی تصویر در سی شارپ

ذخیره و بازیابی تصویر در سی شارپ

 

با یکی دیگر از مقالات آموزشی سی شارپ در خدمت شما دوستان گرامی هستم.

در این مقاله در مورد ذخیره و بازیابی تصویر در سی شارپ با استفاده از دیتابیس Sql Server صحبت می کنیم. مطمنا در طول تولید نرم افزارهاتون براتون خیلی پیش اومده که نیاز داشته باشید یک تصویر رو داخل دیتابیس ذخیره کنید و در صورت نیاز اون رو بازگردانی کنید و در یک کنترل PictureBox داخل فرم خودتون نمایش بدید. در این مقاله در مورد ذخیره و بازیابی تصویر در سی شارپ صحبت خواهم کرد و این کار رو مرحله به مرحله انجام خواهیم داد.

 

مرحله اول از ذخیره و بازیابی تصویر در سی شارپ مبحث ذخیره عکس در دیتابیس می باشد. ما فرض را بر این گذاشته ایم که شما یک دیتابیس از نوع Sql Server و درون آن یک جدول دارید و حال قصد دارید درون این جدول تصویر ذخیره کنید. (البته شدیدا توصیه می کنم تصاویر و یا فایل هایی که قصد دارید در جدول ذخیره نمایید حجمی کمتر از ۱ مگابایت داشته باشند چون در غیر این صورت سرعت دیتابیس را بسیار کند خواهند کرد.)

 

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

 

همانطور که در تصویر بالا مشاهده می فرمایید یک جدول به نام Tbl_Users داریم که قصد داریم در فیلدی به نام FileDate فایل یا تصویر را ذخیره کنیم.

دقت نمایید که نوع این فیلد را از نوع (varbinary(max انتخاب کرده ایم. ما می توانید جهت عدم ذخیره سازی فایلهای بیشتر از ۱ مگابایت از نوع (varbinary(1024 نیز انتخاب نمایید.

 

ذخیره و بازیابی تصویر در سی شارپ

 

حال در ادامه مقاله ذخیره و بازیابی تصویر در سی شارپ به سراغ دستورات c# می رویم. دقت نمایید که برای ذخیره عکس در دیتابیس باید حتما عکس یا فایل را به صورت یک آرایه باینری تبدیل کنیم که در ادامه کدهای لازم برای این عمل را مشاهده می فرمایید.

 

ذخیره و بازیابی عکس در دیتابیس

 

همانطور که مشاهده می فرمایید توسط دستورات بالا می توانیم یک فایل را به یک آرایه باینری تبدیل کنیم. در خط اول این دستورات متغیر UserImageName همان مسیر فیزیکی فایل یا تصویر شما می باشد.

 

دقت نمایید که برای استفاده از کلاس FileStream در بالای Class حتما از فضا نام زیر استفاده نمایید :

;using System.IO

 

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

 

ذخیره و بازیابی تصویر در سی شارپ

 

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

 

 

مقدار متغیر query همان سطر جدول می باشد که قرار است تصویر آن نمایش داده شود. در داخل شرط If سه خط کد وجود دارد که توسط آنها می توان تصویر را از دیتابیس بازگردانی کرد و نمایش داد.

 

ذخیره و بازیابی تصویر در سی شارپ

درباره سعید بحرانی فرد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *