您的位置:首页 > 数据库

如何读写数据库二进制图片

2007-01-08 14:11 323 查看
 

using System;


using System.Data;


using System.Configuration;


using System.Collections;


using System.Web;


using System.Web.Security;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.WebControls.WebParts;


using System.Web.UI.HtmlControls;


using System.Data.SqlClient;


using System.IO;


public partial class Default3 : System.Web.UI.Page






{


    protected void Page_Load(object sender, EventArgs e)




    

{




    }


    protected void Button2_Click(object sender, EventArgs e)




    

{


        //把图片保存成数据库二进制形式


        Stream ImageStream;


        string Path = FileUpload1.PostedFile.FileName;// 文件名称


        int Size = FileUpload1.PostedFile.ContentLength; // 文件大小


        string Type = FileUpload1.PostedFile.ContentType; // 文件类型


        ImageStream = FileUpload1.PostedFile.InputStream;


        byte[] Content = new byte[Size];


        int Status = ImageStream.Read(Content, 0, Size);




        SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);


        SqlCommand comm = new SqlCommand("insert into testimage (UserName,Image,Path,Type) values(@UserName,@Image,@Path,@Type)", conn);




        comm.CommandType = CommandType.Text;


        comm.Parameters.Add("@UserName", SqlDbType.VarChar, 255).Value = txtUserName.Text;


        comm.Parameters.Add("@Image", SqlDbType.Image).Value = Content;


        comm.Parameters.Add("@Path", SqlDbType.VarChar, 255).Value = Path;


        comm.Parameters.Add("@Type", SqlDbType.VarChar, 255).Value = Type;




        conn.Open();


        comm.ExecuteNonQuery();


        conn.Close();


    }


    protected void Button1_Click(object sender, EventArgs e)




    

{


        //把数据库二进制图片转存到硬盘中


        string connStr = ConfigurationSettings.AppSettings["ConnectionString"];


        SqlConnection conn = new SqlConnection(connStr);


        string sql = "select * from testimage";


        SqlCommand cmd = new SqlCommand(sql, conn);


        conn.Open();


        SqlDataReader dr = cmd.ExecuteReader();


        while (dr.Read())




        

{


            byte[] bytes = (byte[])dr["Image"];


            FileStream fs = new FileStream(@"c:/" + dr["UserID"] + ".jpg", FileMode.Create, FileAccess.Write);


            fs.Write(bytes, 0, bytes.Length);


            fs.Flush();


            fs.Close();


        }


        dr.Close();


        conn.Close();


    }


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息