using System;using System.Configuration;using System.Data;using System.Data.SqlClient;namespace UploadNewItem1.Utilities{ public class FileUtilities { private static string GetConnectionString() { return ConfigurationManager.AppSettings["DBConnectionString"]; } private static void OpenConnection(SqlConnection connection) { connection.ConnectionString = GetConnectionString(); connection.Open(); } // Get the list of the files in the database public static DataTable GetFileList() { DataTable fileList = new DataTable(); using (SqlConnection connection = new SqlConnection()) { OpenConnection(connection); SqlCommand cmd = new SqlCommand(); cmd.Connection = connection; cmd.CommandTimeout = 0; cmd.CommandText = "SELECT ID, Name, ContentType, Size FROM Files"; cmd.CommandType = CommandType.Text; SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = cmd; adapter.Fill(fileList); connection.Close(); } return fileList; } // Save a file into the database public static void SaveFile(string name, string contentType, int size, byte[] data) { using (SqlConnection connection = new SqlConnection()) { OpenConnection(connection); SqlCommand cmd = new SqlCommand(); cmd.Connection = connection; cmd.CommandTimeout = 0; string commandText = "INSERT INTO Files VALUES(@Name, @ContentType, "; commandText = commandText + "@Size, @Data)"; cmd.CommandText = commandText; cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@Name", SqlDbType.NVarChar, 100); cmd.Parameters.Add("@ContentType", SqlDbType.VarChar, 50); cmd.Parameters.Add("@size", SqlDbType.Int); cmd.Parameters.Add("@Data", SqlDbType.VarBinary); cmd.Parameters["@Name"].Value = name; cmd.Parameters["@ContentType"].Value = contentType; cmd.Parameters["@size"].Value = size; cmd.Parameters["@Data"].Value = data; cmd.ExecuteNonQuery(); connection.Close(); } } // Get a file from the database by ID public static DataTable GetAFile(int id) { DataTable file = new DataTable(); using (SqlConnection connection = new SqlConnection()) { OpenConnection(connection); SqlCommand cmd = new SqlCommand(); cmd.Connection = connection; cmd.CommandTimeout = 0; cmd.CommandText = "SELECT ID, Name, ContentType, Size, Data FROM Files " + "WHERE ID=@ID"; cmd.CommandType = CommandType.Text; SqlDataAdapter adapter = new SqlDataAdapter(); cmd.Parameters.Add("@ID", SqlDbType.Int); cmd.Parameters["@ID"].Value = id; adapter.SelectCommand = cmd; adapter.Fill(file); connection.Close(); } return file; } public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (! IsPostBack) { DataTable fileList = FileUtilities.GetFileList(); gvFiles.DataSource = fileList; gvFiles.DataBind(); } } protected void btnUpload_Click(object sender, EventArgs e) { // Although I put only one http file control on the aspx page, // the following code can handle multiple file controls in a single aspx page. HttpFileCollection files = Request.Files; foreach (string fileTagName in files) { HttpPostedFile file = Request.Files[fileTagName]; if (file.ContentLength > 0) { // Due to the limit of the max for a int type, the largest file can be // uploaded is 2147483647, which is very large anyway. int size = file.ContentLength; string name = file.FileName; int position = name.LastIndexOf("\\"); name = name.Substring(position + 1); string contentType = file.ContentType; byte[] fileData = new byte[size]; file.InputStream.Read(fileData, 0, size); FileUtilities.SaveFile(name, contentType, size, fileData); } } DataTable fileList = FileUtilities.GetFileList(); gvFiles.DataSource = fileList; gvFiles.DataBind(); } } public partial class GetFile : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Get the file id from the query string int id = Convert.ToInt16(Request.QueryString["ID"]); // Get the file from the database DataTable file = FileUtilities.GetAFile(id); DataRow row = file.Rows[0]; string name = (string)row["Name"]; string contentType = (string)row["ContentType"]; Byte[] data = (Byte[])row["Data"]; // Send the file to the browser Response.AddHeader("Content-type", contentType); Response.AddHeader("Content-Disposition", "attachment; filename=" + name); Response.BinaryWrite(data); Response.Flush(); Response.End(); } }}} [find the error from code actually this coding not upload file in database ] urgent