لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 6
Saving an Image in a SQL Server Database
Most of the web applications have a lot of images used in it. These images are usually stored in a web server folder and they are accessed by giving the relative path to the file with respect to the root folder of the website.
.Net being the platform for distributed application now, ASP.Net can be used to store images that are small to be stored in a database like SQL Server 2000 and later versions. For this purpose the SQL Server database provides a data type called “image” which is used to store images in the database.
To access these images stored in the database we will be using the ADO.Net classes. To find out how to insert and retrieve an image in to the SQL Server database, you can create a .aspx page which can have a HTMLInputFile control which is used to select the image file that is to be saved in the database.
You can also create a textbox control in which you can add the image name or some comment or an image id for the image saved. Use a button control to upload the image to the database. Namespaces like System.Data.SqlClient, System.Drawing, System.Data, System.IO, and System.Drawing.Imaging are used in this task.
In the OnClick property of the button you can write the following code to upload an image to the database.// create a byte[] for the image file that is uploadedint imagelen = Upload.PostedFile.ContentLength;byte[] picbyte = new byte[imagelen];Upload.PostedFile.InputStream.Read (picbyte, 0, imagelen);// Insert the image and image id into the databaseSqlConnection conn = new SqlConnection (@"give the connection string here...");try{conn.Open ();SqlCommand cmd = new SqlCommand ("insert into ImageTable " + "(ImageField, ImageID) values (@pic, @imageid)", conn);cmd.Parameters.Add ("@pic", picbyte);cmd.Parameters.Add ("@imageid", lblImageID.Text);cmd.ExecuteNonQuery ();}finally {conn.Close ();}
You can also write the above code in a function and call that function in the OnClick event of the upload button. The code given above performs the following steps in the process of inserting an image into the database.
1. Get the content length of the image that is to be uploaded2. Create a byte[] to store the image3. Read the input stream of the posted file4. Create a connection object5. Open the connection object6. Create a command object7. Add parameters to the command object8. Execute the sql command using the ExecuteNonQuery method of the command object9. Close the connection object
To retrieve the image from the SQL Database you can perform the following steps.
1. Create a MemoryStream object. The code can be something like,MemoryStream mstream = new MemoryStream ();2. Create a Connection object3. Open the connection to the database4. Create a command object to execute the command to retrieve the image5. Use the command object’s ExecuteScalar method to retrieve the image6. Cast the output of the ExecuteScalar method to that of byte[]byte[] image = (byte[]) command.ExecuteScalar ();7. Write the streammstream.Write (image, 0, image.Length);8. Create a bitmap object to hold the streamBitmap bitmap = new Bitmap (stream);9. Set the content type to “image/gif”Response.ContentType = "image/gif";10. Use the Save method of the bitmap object to output the image to the OutputStream.bitmap.Save (Response.OutputStream, ImageFormat.Gif);11. Close the connection12. Close the streammstream.Close();
Using the above steps you can retrieve and display the image from the database to the web page.
You can use these algorithms and take advantage of the “image” data type available in the SQLServer 2000 database to store small images that correspond to a particular record in the table of the database. This method of storing avoids the tedious task of tracking the path of the web folder if the images are stored in a web folder.
ذخیره سازی یک تصویر در بانک اطلاعاتی سرور SQL
بسیاری از کاربردهای وب برای استفاده ، تعدادی از تصاویر را درون خود دارند. این تصاویر معمولاً در یک فولدر سرور وب ذخیره شده اند و از طریق مسیر مرتبط با توجه به فولدر ریشه وب سایت قابل دسترسی هستند.
.NET در حال حاضر پلتفرمی را برای کاربردهای گسترده شده ارائه کرده است . از ASP.NWT می توان برای ذخیره کردن در یک بانک اطلاعاتی همانند SQL سرور 2000 و نسخه های بعد از آن که کوچمک هستند ،استفاده کرد. برای این منظور بانک اطلاعاتی سرور SQL گونه ایی اطلاعات را تحت عنوان تصویر وعرفی کرده است که برای ذخیره کردن تثاویر در بانک اطلاعاتی بکار می روند.
برای دسترسی به این تصاویر ذخیره شده در بانک اطلاعاتی ما از کلاسهای ADO.NET استفاده میکنیم.برای پیدا کردن اینکه چگونه یک تصویر را در بانک اطلاعاتی سرور SQL ذخیره و آنرا بازیابی کنیم ،میتوانید یک صفحه .aspx را ایجاد نماییدکه شامل یک فایل کنترل ورودی HTML میباشد که برای انتخاب فایل تصویری که قرار است در بانک اطلاعاتی ذخیره شود مورد استفاده قرار میگیرد.
همچنین میتوانید یک TEXTBOX کنترلی را ایجاد نمایید که از طریق آن میتوانید نام تصویر یا تعدادی توضیح یا یک ID تصویر برای تصویر ذخیره شده ،ایجاد کنید.از یک دکمه کنترل برای آپلود تصویر به بانک اطلاعاتی استفاده می شود. در این رابطه از فضاهای نامی همانند System.Data.SqlClient, System.Drawing, System.Data, System.IO, and System.Drawing.Imaging استفاده شده است.
با استفاده از ویژگی دکمه onclick شما میتوانید کد زیر را برای اپلود یک تصویر به بانک اطلاعاتی استفاده کنید:
// create a byte[] for the image file that is uploadedint imagelen = Upload.PostedFile.ContentLength;byte[] picbyte = new byte[imagelen];Upload.PostedFile.InputStream.Read (picbyte, 0, imagelen);// Insert the image and image id into the databaseSqlConnection conn = new SqlConnection (@"give the connection string here...");try{conn.Open ();SqlCommand cmd = new SqlCommand ("insert into ImageTable " + "(ImageField, ImageID) values (@pic, @imageid)", conn);cmd.Parameters.Add ("@pic", picbyte);cmd.Parameters.Add ("@imageid", lblImageID.Text);cmd.ExecuteNonQuery ();}finally {conn.Close ();}
همچنین میتوانید کد بالا را به صورت یک تابع نوشته و آن تابع را با رویداد onclick از دکمه آپلود احظار کنید.کد نشان داده شده در بالا ،مراحل زیر را برای وارد کردن یک تصویر به بانک اطلاعاتی انجام میدهد:
1. مشخص کردن طول مضمون تصویری که قرار است آپلود شود.
2. ایجاد یک بایت [] برای ذخیره تصویر
3. خواندن مسیر ورودی فایل پست شده
4. ایجاد یک موضوع ارتباطی
5. باز کردن موضوع ارتباطی
6. ایجاد یک موضوع فرمان
7. اضافه کردن پارامترهایی به موضوع فرمان
8. اجرای فرمان SQL با استفاده از روش اجرای غیر پرسشی موضوع فرمان
9. بستن موضوع ارتباطی
تحقیق و بررسی در مورد ذخیره سازی یک تصویر در بانک اطلاعاتی سرور SQL 6 ص