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 uploaded
int imagelen = Upload.PostedFile.ContentLength;
byte[] picbyte = new byte[imagelen];
Upload.PostedFile.InputStream.Read (picbyte, 0, imagelen);
// Insert the image and image id into the database
SqlConnection 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 uploaded
2. Create a byte[] to store the image
3. Read the input stream of the posted file
4. Create a connection object
5. Open the connection object
6. Create a command object
7. Add parameters to the command object
8. Execute the sql command using the ExecuteNonQuery method of the command object
9. 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 object
3. Open the connection to the database
4. Create a command object to execute the command to retrieve the image
5. Use the command object's ExecuteScalar method to retrieve the image
6. Cast the output of the ExecuteScalar method to that of byte[] byte[] image = (byte[]) command.ExecuteScalar ();
7. Write the stream mstream.Write (image, 0, image.Length);
8. Create a bitmap object to hold the stream Bitmap 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 connection
12. Close the stream mstream.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.
Visit A Guide to .NET for a complete introduction to .NET framework. Learn about ASP.NET, VB.NET, C# and other related technologies.
Tip #1 -- Rebates: A rebate is not always a... Read More
Maintaining your computer is extremely important ? especially if you... Read More
iPod users start to get the picture and it's turning... Read More
Do you use Windows standard uninstall feature? How do you... Read More
The United States Of America citizen feels that games is... Read More
IntroductionMac OS X is the most technologically advanced operating system... Read More
I recently got an e-mail asking about virtual memory. The... Read More
Lost & Found for the 21st CenturyIn today's hectic world... Read More
When I first started studying for my CCNP, some of... Read More
Each of the items in the checklist below is part... Read More
So I'll start from the very beginning.One day I was... Read More
World War II - Germany decided to attack Poland. Poland... Read More
"Aaaaaahhhhhh! I've been invaded by a virus!" Getting a virus... Read More
In the 1950's and 1960's Polaroid's instant cameras were all... Read More
Have you ever tried to remove Spyware off your PC... Read More
Apache, MysQL and PHP for Windows could be a nice... Read More
The Internet can be a dangerous place.While you're enjoying the... Read More
When browsing the internet you are likely to come across... Read More
OK, so you caught a computer virus and your system... Read More
Those small USB drives have so many names, pocket drives,... Read More
The Internet is an awesome tool, but be careful and... Read More
Stimulus thru Caffiene or Visual Input?It appears that the Mobi... Read More
There are many sources of heat that can raise the... Read More
GOT VIRUS? Your Data is NOT lost forever!In the wake... Read More
Just The Facts, Ma'mPalm pilots are all the rage now.... Read More
A Computer in Your HandCarrying around an address book and... Read More
After reading this good article you will know some important... Read More
First things first, what is Firefox? Well, it's a browser.... Read More
Are you frustrated with your PC?Is it feeling sluggish or... Read More
"Automated Testing" is automating the manual testing process currently in... Read More
System File Checker is a great utility that is typically... Read More
Your Bible At Your FingertipsIt is fairly easy to find... Read More
Below you will find some useful information and comments about... Read More
Cisco Certification: Taking Your First Certification ExamYou've studied hard; you've... Read More
As the Web grows more crowded and just plain "noisy"... Read More
So I'll start from the very beginning.One day I was... Read More
CCNAs and CCNA candidates hear it all the time: â??Get... Read More
It's free, it comes with Windows and it's used by... Read More
Choose Not To ConformPalm pilots and pdas are constantly growing... Read More
IF WE say that it was mainly because of the... Read More
Perhaps not yet, but the handwriting might be on the... Read More
ASR (Automated System Recovery) is a feature available on the... Read More
1. Empty the Temp directory regularly. To do this, make... Read More
IntroOne of the big advantages of PCs over earlier types... Read More
If you're like me, you occasionally find the ubiquitous mouse... Read More
Surf the 'Net for about 10 minutes and chances rate... Read More
A Computer in Your HandCarrying around an address book and... Read More
Unless you place your faith in internal search engine software... Read More
In this era of Internet, most people are frequent users... Read More
Computers are supposed to speed up our productivity?to help us... Read More
When browsing the internet you are likely to come across... Read More
About mail-mergingMail-merging is the process of merging variable data and... Read More
MMC and SDFlash memory is available in so many formats... Read More
With their solid-state technology, compact size, and abundant memory, portable... Read More
The year is 1981. IBM has just released the Personal... Read More
Step 1:Open WinRAR and browse to the folder with your... Read More
Are you frustrated with your PC?Is it feeling sluggish or... Read More
Flash mp3 players come with an exciting array of features,... Read More
Maintaining your computer is extremely important ? especially if you... Read More
For many people the computer industry is a seeming unsolvable... Read More
Time is money. And when you constantly have to divide... Read More
You will need the following:1. 1.44MB FDD (floppy)2. NVFLASH utility... Read More
Upgrading your processor will always speed up your computer, but... Read More
Are you looking for an MP3 player but am not... Read More
Tip #1 -- Rebates: A rebate is not always a... Read More
Since the DOS days, batch files have been one of... Read More
Personal Technology |