Write and read the image (c # asp.net sqlserver) [to]

  We must first create a table contains the type of image and for each type of image and vnanchar 

WebForm1.aspx

  <% @ Page language = "c #" Codebehind = "WebForm1.aspx.cs" AutoEventWireup = "false" Inherits = "ReadAndWritePicFromDB.WebForm1"%> <! DOCTYPE HTML PUBLIC "- / / W3C / / DTD HTML 4.0 Transitional / / EN "> <HTML> <HEAD> <title> WebForm1 </ title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name = "vs_defaultClientScript" content = "JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </ HEAD> <body MS_POSITIONING="GridLayout"> <form id = "Form1" method = "post" runat = "server"> <FONT face="宋体"> <INPUT id = "File1" style = "Z-INDEX: 101; LEFT: 112px; POSITION: absolute; TOP : 88px "type =" file "name =" File1 "runat =" server "> </ FONT> <asp: Button id =" Button1 "style =" Z-INDEX: 102; LEFT: 400px; POSITION: absolute; TOP : 88px "runat =" server "Text =" Write "Width =" 104px "> </ asp: Button> <asp: Button id =" Button2 "style =" Z-INDEX: 103; LEFT: 552px; POSITION: absolute ; TOP: 88px "runat =" server "Text =" Read "Width =" 105px "> </ asp: Button> </ form> </ body> </ HTML> 

WebForm1.aspx.cs

  using System; 
  using System.Collections; 
  using System.ComponentModel; 
  using System.Data; 
  using System.Drawing; 
  using System.Web; 
  using System.Web.SessionState; 
  using System.Web.UI; 
  using System.Web.UI.WebControls; 
  using System.Web.UI.HtmlControls; 
  using System.IO; 
  using System.Data.SqlClient; 

  namespace ReadAndWritePicFromDB 
  ( 
  / / / <summary> 
  / / / WebForm1 the summary. 
  / / / </ Summary> 
  public class WebForm1: System.Web.UI.Page 
  ( 
  protected System.Web.UI.HtmlControls.HtmlInputFile File1; 
  protected System.Web.UI.WebControls.Button Button1; 
  private string fileName = ""; 
  protected System.Web.UI.WebControls.Button Button2; 
  private static SqlConnection conn = null; 

  private void Page_Load (object sender, System.EventArgs e) 
  ( 
  / / Here at the user code to initialize pages 
  ConnectDB (); 
  ) 

  / / By file name 
  private string GetFile () 
  ( 
  HttpPostedFile file = File1.PostedFile; 
  fileName = file.FileName; 

  return fileName; 
  ) 

  / / Read the contents of the documents 
  private byte [] ReadFile () 
  ( 
  FileStream file = File.OpenRead (GetFile ()); 
  byte [] content = new byte [file.Length]; 
  file.Read (content, 0, content.Length); 
  file.Close (); 

  return content; 
  ) 

  / / Connecting to the database 
  private void ConnectDB () 
  ( 
  string connStr = "Initial Catalog =; Data Source =; User ID =; Password =;"; 
  conn = new SqlConnection (connStr); 
  conn.Open (); 
  ) 

  / / Write images to the database 
  private void WriteImage () 
  ( 
  SqlCommand comm = conn.CreateCommand (); 
  comm.CommandText = "insert into images (image, type) values (@ image, @ type)"; 
  comm.CommandType = CommandType.Text; 
  SqlParameter param = comm.Parameters.Add ( "@ image", SqlDbType.Image); 
  param.Value = ReadFile (); 
  param = comm.Parameters.Add ( "@ type", SqlDbType.NVarChar); 
  param.Value = GetContentType (new FileInfo (fileName). Extension.Remove (0,1)); 

  if (comm.ExecuteNonQuery () == 1) 
  Response.Write ( "Successful"); 
else
  Response.Write ( "Fail"); 

  conn.Close (); 
  ) 

  / / Get a picture of the suffix 
  private string GetContentType (string extension) 
  ( 
  string type = ""; 

  if (extension.Equals ( "jpg") | | extension.Equals ( "JPG")) 
  type = "jpeg"; 
else
  type = extension; 

  return "image /" + type; 
  ) 

  / / Read the image from the database 
  private void ReadImage () 
  ( 
  SqlCommand comm = conn.CreateCommand (); 
  comm.CommandText = "select image, type from images"; 
  comm.CommandType = CommandType.Text; 

  SqlDataReader reader = comm.ExecuteReader (); 
  while (reader.Read ()) 
  ( 
  Response.ContentType = reader [ "type"]. ToString ();// read and write or type must be set up as a browser text output 
  Response.BinaryWrite ((byte []) reader [ "image "]);// picture data 
  ) 

  Response.Write ( "Successful"); 
  Response.End (); 

  conn.Close (); 
  ) 
  # region Web Form Designer generated code 
  override protected void OnInit (EventArgs e) 
  ( 
  / / 
  / / CODEGEN: The call is designed for ASP.NET Web form necessary. 
  / / 
  InitializeComponent (); 
  base.OnInit (e); 
  ) 

  / / / <summary> 
  / / / Designer support for the approach – Do not use the code editor edits 
  / / / The contents of this method. 
  / / / </ Summary> 
  private void InitializeComponent () 
  ( 
  this.Button1.Click + = new System.EventHandler (this.Button1_Click); 
  this.Button2.Click + = new System.EventHandler (this.Button2_Click); 
  this.Load + = new System.EventHandler (this.Page_Load); 

  ) 
  # endregion 

  private void Button1_Click (object sender, System.EventArgs e) 
  ( 
  WriteImage (); 
  ) 

  private void Button2_Click (object sender, System.EventArgs e) 
  ( 
try
  ( 
  ReadImage (); 
  ) 
  catch (Exception ep) 
  ( 
  conn.Close (); 
  Response.End (); 
  ) 
  ) 
  ) 
  ) 


Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google
  • DZone
  • Netvouz
  • NewsVine
  • Technorati

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

Tags: