把影像檔案上傳到資料庫,並從資料庫讀出 (轉)

gugu99發表於2007-12-09
把影像檔案上傳到資料庫,並從資料庫讀出 (轉)[@more@]

圖片到:

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

namespace my
{
///


/// img2sql 的摘要說明。
///

public class img2sql : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox imgTitleTextBox;
protected System.Web.UI.HtmlControls.HtmlInputFile upLoadImg;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.Button Button1;
protected SqlConnection myConnection;

private void Page_Load( sender, System.EventArgs e)
{
// 在此處放置程式碼以初始化頁面
string conn="server=(local);database=test;uid=sa;pwd=ilovenm";
myConnection=new SqlConnection(conn);
}

#region Web FoDesigner generated code
overr protected void OnInit(EventArgs e)
{
//
// CODEGEN:該是 Web 窗體設計器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///


/// 設計器支援所需的方法 - 不要使用程式碼編輯器修改
/// 此方法的內容。
///

private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void Button1_Click(object sender, System.EventArgs e)
{
Stream myStream=upLoadImg.PostedFile.InputStream;
int imgDataLen=upLoadImg.PostedFile.ContentLength;
string imgType=upLoadImg.PostedFile.ContentType;
string imgTitle=imgTitleTextBox.Text;
byte[] imgData=new byte[imgDataLen];
int n=myStream.Read(imgData,0,imgDataLen);

//string conn="server=(local);database=test;uid=sa;pwd=ilovenm";
//SqlConnection myConnection=new SqlConnection(conn);

SqlCommand myCommand = new SqlCommand("INSERT INTO image (imgtitle,imgtype,imgdata) VALUES ( @imgtitle, @imgtype, @imgdata )", myConnection);

myCommand.Parameters.Add(new SqlParameter("@imgtitle",SqlType.VarChar,50));
myCommand.Parameters["@imgtitle"].Value=imgTitle;

myCommand.Parameters.Add(new SqlParameter("@imgtype",SqlDbType.VarChar,50));
myCommand.Parameters["@imgtype"].Value=imgType;

myCommand.Parameters.Add(new SqlParameter("@imgdata",SqlDbType.Image));
myCommand.Parameters["@imgdata"].Value=imgData;

myConnection.Open();
int numRowsAffected=myCommand.ExecuteNonQuery();
myConnection.Close();
}
}
}

顯示:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace myUpLoad
{
///


/// showimg 的摘要說明。
///

public class showimg : System.Web.UI.Page
{
protected SqlConnection myConnection;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置使用者程式碼以初始化頁面
string imgID=Request.QueryString["imgid"];
string conn="server=(local);database=test;uid=sa;pwd=ilovenm";
//string conn="server=(local);database=test;uid=sa;pwd=ilovenm";
  myConnection=new SqlConnection(conn);

string Cmd="select imgdata,imgtype from image where id="+imgID;
SqlCommand myCommand=new SqlCommand(selectCmd,myConnection);
myConnection.Open();
SqlDataReader myDataReader=myCommand.ExecuteReader();

if (myDataReader.Read())
{
Response.ContentType=myDataReader["imgtype"].ToString();
Response.BinaryWrite((byte[])myDataReader["imgdata"]);
}
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:該呼叫是 Web 窗體設計器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///


/// 設計器支援所需的方法 - 不要使用程式碼編輯器修改
/// 此方法的內容。
///

private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-990063/,如需轉載,請註明出處,否則將追究法律責任。

相關文章