رفتن به مطلب

نحوه ذخیره تصاویر در SQL Server


ملیساا

ارسال های توصیه شده

مرور راه حل

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

 

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

- کنترل هایی که در این برنامه از آن ها استفاده می کنیم عبارتند از : 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=yourpa ss");

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=yourpa ss");

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 می توانید انجام دهید دارد. به عنوان مثال شما می توانید برنامه را برای ذخیره و مدیریت تصاویر بر روی وب گسترش دهید یا می توانید یک برنامه ساده بنویسید که به کاربر امکان ویرایش و دستکاری تصاویر را می دهد.

 

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

 

برای دریافت سورس پروژه

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

لینک به دیدگاه

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه

Save Image Into SQL

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

در ضمن در هنگامی هم که برنامه اجرا می شود لیست تمامی تصاویر موجود در بانک رو برای شما نمایش می دهد و شما بعد از کلیک روی آن می توانید به راحتی آن را مشاهده نمایید .

سورس این برنامه رایگان می باشد .

برای دانلود

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
کنید .

 

 

در ضمن

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

لینک به دیدگاه

ذخیره تصاویر در dataBase

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

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

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...