نحوه ذخیره کردن چند تصویر در بانک اطلاعاتی با یک کلیک در Asp.Net

یکشنبه 10 اسفند 1393

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

نحوه  ذخیره کردن چند تصویر در بانک اطلاعاتی با یک کلیک در Asp.Net

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

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

در ادامه مقاله نحوه چگونگی انحام این عمل توضیح داده شده :

1. ابتدا در بانک اطلاعاتی یک جدول میسازیم برای ذخیره تصویر به همراه یک فیلد مرتبط مانند ID یا Roll Number که بتوان تصویر را از با استفاده از آن فیلد بانک اطلاعاتی فرا خوانی کرد.

2. یک WebSite به همراه یک صفحه در Asp.Net بسازید , سپس یک دکمه در داخل صفحه قرار دهید .

3 . سپس در قسمت رخداد دکمه در Code Behind صفحه کد ذخیره چند تصویر را می نویسیم .

در ادامه جزئیات مراحل بالا شرح داده شده است.

مرحله اول :

ابتدا یک جدول با نام "images" می سازیم که اطالاعت زیر را در جدول ذخیره کند

 _ شماره دانشجویی

_ تصویر دانشجو

_ تاریخ درج تصویر

CREATE TABLE dbo.Images(  
   Roll_no varchar(12) primary key,  
   img varbinary(max) ,  
   img_date datetime  
) 

مرحله دوم :

سپس در ویژوال استودیو یک وب سایت بسازید .

یک دکمه به صفحه اضافه کنید و به داخل رویداد کلیک آن بروید

<asp:Button ID="Button1" runat="server" Text="Convert All Images to Byte" OnClick="Button1_Click" />  

سپس یک فولدر با نام "Images" به وب سایت اضافه کرده و تعدادی تصویر که در بانک اطلاعاتی می خواهیم ذخیره کنیم را در این فولدر قرار می دهیم .

نکته : توجه داشته باشید که نام تصویر باید منحصر باشد .

مرحله سوم :

سپس کد ذخیره تصویر را در رویداد کلیک دکمه می نویسیم :

protected void Button1_Click(object sender, EventArgs e)  
{  
    for (int i = 101; i <= 104; i++)  
    {  
        string filename = "~/Images/" + i.ToString() + ".jpg";  
        byte[] imageByte = System.IO.File.ReadAllBytes(Server.MapPath(filename));  
        //Insert the Data in the Table    
        using (SqlConnection connection = new SqlConnection())  
        {  
            connection.ConnectionString = ConfigurationManager.ConnectionStrings["con"].ToString();  
            connection.Open();  
            SqlCommand cmd = new SqlCommand();  
            cmd.Connection = connection;  
            string commandText = "Insert into Images values (@Rollno,@image,getdate())";  
            cmd.CommandText = commandText;  
            cmd.CommandType = CommandType.Text;  
            cmd.Parameters.Add("@image", SqlDbType.VarBinary);  
            cmd.Parameters["@image"].Value = imageByte;  
            cmd.Parameters.Add("@Rollno", SqlDbType.VarChar);  
            cmd.Parameters["@Rollno"].Value = i.ToString();  
            cmd.ExecuteNonQuery();  
            cmd.Dispose();  
            connection.Close();  
        }  
    }  
    Response.Write("Data has been Added");  
}  

مرحله چهارم :

سپس پروژه را اجرا کنید :

بر روی دکمه کلیک کنید و متن "Data has been Added"

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

برنامه نویسان

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

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

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