保存在数据中image字段的图片文件显示出来
2010-04-08 20:27
483 查看
把图像文件上传到数据库,并从数据库读出
采用参数
上传图片到数据库:
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;
using System.IO;
namespace myUpLoad
{
/// <summary>
/// img2sql 的摘要说明。
/// </summary>
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(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string conn="server=(local);database=test;uid=sa;pwd=ilovenm";
myConnection=new SqlConnection(conn);
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
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",SqlDbType.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
{
/// <summary>
/// showimg 的摘要说明。
/// </summary>
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 selectCmd="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"]);
}
}
采用参数
上传图片到数据库:
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;
using System.IO;
namespace myUpLoad
{
/// <summary>
/// img2sql 的摘要说明。
/// </summary>
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(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string conn="server=(local);database=test;uid=sa;pwd=ilovenm";
myConnection=new SqlConnection(conn);
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
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",SqlDbType.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
{
/// <summary>
/// showimg 的摘要说明。
/// </summary>
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 selectCmd="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"]);
}
}
相关文章推荐
- 保存在数据中image字段的图片文件显示出来
- 不经过临时文件,直接从BLOB字段,下载数据显示图片!
- 在数据库中处理image字段【把图片存储到数据库并显示出来】
- VFP将图片或其他文件保存到SQL Server的Text类型字段或者Access的备注字段中,并可以还原或显示
- 在数据库中处理image字段【把图片存储到数据库并显示出来】
- 例程:asp.net中将大文件保存到MSSQL的image字段并实时显示进度信息
- VFP将图片或其他文件保存到SQL Server的Text类型字段或者Access的备注字段中,并可以还原或显示。 .
- VFP将图片或其他文件保存到SQL Server的Text类型字段或者Access的备注字段中,并可以还原或显示。
- 用background-image:url();属性设置背景图片,为什么总是显示不出来?
- 对Image字段存取图片、文件
- C#串口采集短信GSM chart图表使用示例 保存数据到access数据库和每日.txt文件并实时显示各参数曲线
- php excel 读取日期问题 在 php excel 读取 xls 格式的文件时,xls 上面显示的是正常的日期格式 但是读取出来的话,就会是一个万位整形数据,这显然不是我们想要的日
- 在从paradox的数据库文件db中的数据导出或显示出来的时候,有的中文字符变为乱码?
- android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte
- PB datawindow 数据窗口字段保存显示超过255个字符,要如何设置?
- Win form 在pictureBox控件中实现选择图片然后以二进制方式保存到数据库。以及在pictureBox控件显示出来
- UWP 保存Image的图片到本地文件
- ImageView显示不出来图片
- VC6.0中使用Stream Object读取数据中流文件并显示Bmp,JPG等图片
- android保存图片到本地并可以在相册中显示出来