您的位置:首页 > 数据库

数据库图片的存取

2012-11-05 20:25 190 查看
******上传到数据库

1.在数据库中新建一个表取一个字段类型为image型

2.新建一个上传图片的aspx网页,如:UpPhoto.aspx

在UpPhoto.aspx文件中添加如下:

<input id="UpPhoto" name="UpPhoto" runat="server" type="file">

<asp:Button id="btnAdd" name="btnAdd" runat="server" Text="上传"></asp:Button>

然后在后置代码文件UpPhoto.aspx.cs添加btnAdd按钮的单击事件处理代码:

private void btnAdd_Click(object sender, System.EventArgs e)

{

//获得图象并把图象转换为byte[]

HttpPostedFile upPhoto=UpPhoto.PostedFile;

int upPhotoLength=upPhoto.ContentLength;

byte[] PhotoArray=new Byte[upPhotoLength];

Stream PhotoStream=upPhoto.InputStream;

PhotoStream.Read(PhotoArray,0,upPhotoLength);

//连接数据库

SqlConnection conn=new SqlConnection();

conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

string strSql="Insert into test(FImage) values(@FImage)";

SqlCommand cmd=new SqlCommand(strSql,conn);

cmd.Parameters.Add("@FImage",SqlDbType.Image);

cmd.Parameters["@FImage"].Value=PhotoArray;

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

}

******从数据库中读取到网页

1.先建一个显示图片的网页,他相当与一张图片

在他的aspx文件里添加<asp:image id="imgPhoto" runat="server" ImageUrl="ShowPhoto.aspx"></asp:image>

2.在它的aspx.cs文件的page_load下写

if(!Page.IsPostBack)

{

SqlConnection conn=new SqlConnection()

conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";

string strSql="select * from test where id=2";//这里假设获取id为2的图片

SqlCommand cmd=new SqlCommand(strSql,conn);

conn.Open();

SqlDataReader reader=cmd.ExecuteReader();

reader.Read();

Response.ContentType="application/octet-stream";

Response.BinaryWrite((Byte[])reader["FImage"]);

Response.End();

reader.Close();

}

3.在想要用图片的网页中直接引用该图片的网址就可以了;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: