آموزش ذخیره عکس در SQL

ذخیره عکس در SQL

ذخیره عکس در SQL

با سلام.امروز میخواهیم آموزش ذخیره عکس در SQL را به شما دوست داران ام اس پی سافت آموزش دهیم.امیدوارم مفید باشد.به طور معمول، تصاویر در پوشه های روی وب سرور ذخیره می شوند نه در دیتابیس، این اما برای فایل های با حجم بالاست. در بعضی موارد ، مثلا یک بانک ، آن ها از تصویر امضای مشتری اسکن می گیرند و آن را در بانک اطلاعاتی خود ذخیره می کنند.

– الگوی بانک اطلاعاتی مورد استفاده : مایکروسافت SQL Server 2000 را به عنوان بانک اطلاعاتی استفاده می کنیم، من از نوع داده ای image استفاده خواهم کرد. نوع داده ای image برای ذخیره کردن تصاویر در بانک اطلاعاتی استفاده می شود.

ذخیره عکس در SQL

– کنترل هایی که در این برنامه از آن ها استفاده می کنیم عبارتند از : System.Web.UI.HtmlControls.HtmlInputFile و System.Web.UI.WebControls.TextBox و System.Web.UI.WebControls.Button

-و فضا نام هایی که در این برنامه از آن ها استفاده می کنیم عبارتند از: System.Data.SqlClient و System.Drawing و System.Data و System.IO و System.Drawing.Imaging

راه حل همراه با کد

از کلاس HtmlInputFile  برای ساختن کنترل آپلود فایل استفاده می کنیم. مثال زیر یک فایل ASPX کامل است که به کاربر این امکان را می دهد که یک تصویر و توضیح آن را آپلود و به بانک اطلاعاتی اضافه کند . متد OnUpload تصویر و توضیح آن را در یک جدول بانک اطلاعاتی SQL Server به نام Pictures در دیتابیس MyData اضافه می کند.

// سورس کد ذخیره تصویر در بانک اطلاعاتی

public void OnUpload(Object sender, EventArgs e)
{
//
ساختن یک byte[] از فایل ورودی
int len = Upload.PostedFile.ContentLength;
byte[] pic = new byte[len];
Upload.PostedFile.InputStream.Read (pic, 0, len);

// افزودن تصویر و توضیح تصویر به بانک اطلاعاتی
SqlConnection connection = new
SqlConnection (@”server=127.0.0.1;database=MyData;uid=sa;pwd=yourpass“);
try
{
connection.Open ();
SqlCommand cmd = new SqlCommand (“insert into Image
+ “(Picture, Comment) values (@pic, @text)“, connection);
cmd.Parameters.Add (“@pic“, pic);
cmd.Parameters.Add (“@text“, Comment.Text);
cmd.ExecuteNonQuery ();
}
finally
{
connection.Close ();
}
}

تابعی که در بالا معرفی کردیم توسط ویژگی OnClick یک دکمه فراخوانی می شود.

چگونه می توانم یک تصویر را از دیتابیس خوانده و در صفحه وب نمایش دهم؟

اینجا من از یک صفحه وب برای نمایش تصویر استفاده کرده ام، کد زیر برای نمایش تصویر در صفحه وب استفاده می شود

private void Page_Load(object sender, System.EventArgs e)
{
MemoryStream stream = new MemoryStream ();
SqlConnection connection = new
SqlConnection (@”server=127.0.0.1;database=MyData;uid=sa;pwd=yourpass“);
try
{
connection.Open ();
SqlCommand command = new
SqlCommand (“select Picture from Image“, connection);
byte[] image = (byte[]) command.ExecuteScalar ();
stream.Write (image, 0, image.Length);
Bitmap bitmap = new Bitmap (stream);
Response.ContentType = “image/gif“;
bitmap.Save (Response.OutputStream, ImageFormat.Gif);
}
finally
{
connection.Close ();
stream.Close ();
}
}

توابع GDI+ ویژگی های پیشرفته زیادی برای مدیریت و دستکاری داده های تصویری پیشنهاد می کنند. مثال این مقاله نگاه سریعی به کارهایی که از طریق فضا نام های System.Drawing.Imaging و  System.Drawing  می توانید انجام دهید دارد. به عنوان مثال شما می توانید برنامه را برای ذخیره و مدیریت تصاویر بر روی وب گسترش دهید یا می توانید یک برنامه ساده بنویسید که به کاربر امکان ویرایش و دستکاری تصاویر را می دهد.

چگونه از این کدها استفاده کنیم؟

 ابتدا یک دایرکتوری مجازی بسازید و فایل های پروژه را در آن قرار بدهید ، سپس رشته اتصال به بانک اطلاعاتی را تغییر دهید ( بر اساس سرور و نام کاربری و کلمه عبور و نام دیتابیس خودتان آن را ست کنید ) حالا می توانید از این پروژه استفاده کنید.

  • پسورد: www.mspsoft.com
مسعود شریفی پور

از سال 88 که با برنامه نویسی آشنا شدم خیلی علاقه مند بودم یک بستر آموزشی بسازم در فضای وب و به انتشار آموزش های در این زمینه بپردازم.حالا یک تیم داریم و با قدرت رو به جلو حرکت میکنیم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    مصطفی فاطمی پاسخ

    سلام من کل برنامه های نوشته شده به زبان سی شارپ رو از سایت خوبتون دانلود کردم اما چون هنوز خیلی چیزهای سی شارپو بلد نیستم نمیتونم بفهمم که یوزرنیم وپسوورد برای ورود به برنامه دیباگ شدشون چیه لطفا یوز و پس مورد نیاز برای تمام برنامه های دیباگ شده نوشته شده باسی شارپ رو برام ایمیل کنین.چون بخدا ماهی یکی دوبار هم بیشتر به اینترنت دسترسی ندارم که از طریق سایت جوابمو ببینم.لطفا؟؟؟!!!
    از سایت عالیتون ممنونم ، ایشالله رو به پیشرفت بیشتر بروید.