This is a discussion on How to upload an image to DB in ASP.Net? within the ASP and ASP.NET Programming forums, part of the Web Development category; How to upload an image to DB in ASP.Net?...
| |||||||
| Register | FAQ | Members List | Calendar | Mark Forums Read |
| |||
| Use the following code for uploading image to DB in ASP.Net. public void UploadBtn_Click(object sender, System.EventArgs e) { if(page.IsValid) { stream imgStream=UploadFile.PostedFile.InputStream; int imgLen=UploadFile.PostedFile.ContentLength; string imgContentType=UploadFile.PostedFile.ContentType; string imgName=txtImgName.Value; byte[] imgBinaryData=new byte[imgLen]; int n=imgStream.Read(imgBinaryData,0,imgLen); int RowsAffected=SaveToDB(imgName, imgBinaryData, imgContentType); if(RowsAffected>0) { Response.Write(“The Image was saved”); } else { Response.Write(“An error occurred uploading the image”); } } } Private int SaveToDB(string imgName, byte[] imgbin, string imgcontenttype) { SqlConnection connection=new SqlConnection(ConfigurationSettings.Appsettings[“DSN”]); SqlCommand command=new SqlCommand(“Insert into image (img_name,img_data,img_contenttype) values (@img_name,@img_data,@img_contenttype)”,connection ); SqlParameter param=new SqlParameter(“@img_name”,SqlDbType.Varchar,50); param.Value=imgName; command.Parameters.Add(param); SqlParameter param1=new SqlParameter(“@img_data”,SqlDbType.Image); param1.Value =imgbin; command.Parameters.Add(param1); SqlParameter param2=new SqlParameter(“@img_contenttype”, SqlDbType.Varchar,50); param2.Value=imgcontenttype; command.Parameters.Add(param2); connection.Open(); int numRowsAffected=command.ExecuteNonQuery(); connection.Close(); return numRowsAffected; } Web.Config <configuration> <appSettings> <add key=”DSN” value=”server=localhost;uid=sa;pwd=;Database=aaa”/> </appSettings> <system.web> <customErrors mode=”Off”/> <system.web> </configuration> |
| |||
| For example, The image stored in a database whose name is called StoreImage... Database contains five columns like(imgname,img type,imglength,imgbytes,loc)... if we want to retrieve the iamge from database means, first we have to give image name to database,here i am using dropdown list box for keeping the image name... here the following code will explain of retrieve the image from database string connection = System.Configuration.ConfigurationManager.AppSetti ngs["ConnectionString"]; SqlConnection conn = new SqlConnection(connection); SqlDataReader rdr = null; try { conn.Open(); SqlCommand cmd = new SqlCommand("select img from StoreImage where imgname='" + DropDownList1.SelectedValue + "'", conn); byte[] buffer = (byte[])cmd.ExecuteScalar(); SqlCommand cmd1 = new SqlCommand("select * from StoreImage where imgname='" + DropDownList1.SelectedValue + "'", conn); rdr = cmd1.ExecuteReader(); string name = ""; int len = 0; while (rdr.Read()) { name = rdr.GetValue(0).ToString(); len = (int)rdr.GetValue(2); } string path = "E://Image-Retrive//image//" + name; FileStream fls = new FileStream(path, FileMode.Append, FileAccess.Write); fls.Write(buffer, 0, len); Image1.Visible = true; fls.Close(); Image1.ImageUrl = p; rdr.Close(); hope u satisy by using this...
__________________ S.VinothkumaR Behind me is infinite power, Before me is Endless Possibility, Around me is Boundless Opportunity, Why should I fear! |
| |||
| Hi, I think that we can't store the image, but we can store in the format of binary data of the image in sqlserver2005..... Datatype for store the binarydata is image....
__________________ Krishnakumar.S Beware of Everything -that is un true; stick to the Truth shall succeed slowly but steadily Last edited by krishnakumar : 08-30-2007 at 03:20 AM. |
| |||
| CREATE TABLE [dbo].[image] ( [img_pk] [int] IDENTITY (1, 1) NOT NULL , [img_name] [varchar] (50) NULL , [img_data] [image] NULL , [img_contenttype] [varchar] (50) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO ALTER TABLE [dbo].[image] WITH NOCHECK ADD CONSTRAINT [PK_image] PRIMARY KEY NONCLUSTERED ( [img_pk] ) ON [PRIMARY] GO UploadImage.aspx <%@ Page language="c#" Src="UploadImage.aspx.cs" Inherits="DBImages.UploadImage" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> </HEAD> <body bgcolor=#ffffff> <form enctype="multipart/form-data" runat=server id=form1 name=form1> <h3>The ASPFree Friendly Image Uploader</h3> Enter A Friendly Name<input type=text id=txtImgName runat="server" > <asp:RequiredFieldValidator id=RequiredFieldValidator1 runat="server" ErrorMessage="Required" ControlToValidate="txtImgName"></asp:RequiredFieldValidator> <br>Select File To Upload: <input id="UploadFile" type=file runat=server> <asp:button id=UploadBtn Text="Upload Me!" OnClick="UploadBtn_Click" runat="server"></asp:button> </form> </body> </HTML> UploadImage.aspx.cs ( codebehind file) using System; using System.Configuration; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Web; using System.IO; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace DBImages { public class UploadImage : System.Web.UI.Page { protected System.Web.UI.WebControls.Button UploadBtn; protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1; protected System.Web.UI.HtmlControls.HtmlInputText txtImgName; protected System.Web.UI.HtmlControls.HtmlInputFile UploadFile; public UploadImage() { } private void Page_Load(object sender, System.EventArgs e){ } public void UploadBtn_Click(object sender, System.EventArgs e) { if (Page.IsValid) //save the image { Stream imgStream = UploadFile.PostedFile.InputStream; int imgLen = UploadFile.PostedFile.ContentLength; string imgContentType = UploadFile.PostedFile.ContentType; string imgName = txtImgName.Value; byte[] imgBinaryData = new byte[imgLen]; int n = imgStream.Read(imgBinaryData,0,imgLen); int RowsAffected = SaveToDB( imgName, imgBinaryData,imgContentType); if ( RowsAffected>0 ) { Response.Write("<BR>The Image was saved"); } else { Response.Write("<BR>An error occurred uploading the image"); } } } private int SaveToDB(string imgName, byte[] imgbin, string imgcontenttype) { //use the web.config to store the connection string SqlConnection connection = new SqlConnection(ConfigurationSettings.AppSettings["DSN"]); SqlCommand command = new SqlCommand( "INSERT INTO Image (img_name,img_data,img_contenttype) VALUES ( @img_name, @img_data,@img_contenttype )", connection ); SqlParameter param0 = new SqlParameter( "@img_name", SqlDbType.VarChar,50 ); param0.Value = imgName; command.Parameters.Add( param0 ); SqlParameter param1 = new SqlParameter( "@img_data", SqlDbType.Image ); param1.Value = imgbin; command.Parameters.Add( param1 ); SqlParameter param2 = new SqlParameter( "@img_contenttype", SqlDbType.VarChar,50 ); param2.Value = imgcontenttype; command.Parameters.Add( param2 ); connection.Open(); int numRowsAffected = command.ExecuteNonQuery(); connection.Close(); return numRowsAffected; } } } Web.Config <configuration> <appSettings> <add key="DSN" value="server=localhost;uid=sa;pwd=;Database=aspfr ee"/> </appSettings> <system.web> <customErrors mode="Off" /> </system.web> </configuration> |
![]() |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Fckeditor Image Upload Path | bluesky | PHP Programming | 1 | 03-24-2008 06:12 AM |
| Convert image to other image format using CODEC in .NET 3.0 | Mramesh | C# Programming | 0 | 02-07-2008 03:33 AM |
| How to create an image from panel background Image | S.Vinothkumar | C# Programming | 1 | 10-22-2007 03:52 AM |
| Example of Image Upload | hanusoft | ASP and ASP.NET Programming | 2 | 09-20-2007 10:59 PM |
| Image Upload problem | ewriter | PHP Programming | 4 | 07-13-2007 05:18 AM |