龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

ASP.NET把图片存入数据库和使用文件流读取显示(4)

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
如果你在开发WinForm应用的话你可以直接把返回结果保存或者显示到PictureBox里,如果你在使用ASP.Net那么你可以在单独的一个页面把图片输出,在另外一个页

如果你在开发WinForm应用的话你可以直接把返回结果保存或者显示到PictureBox里,如果你在使用ASP.Net那么你可以在单独的一个页面把图片输出,在另外一个页面把Image控件的ImageUrl属性指向图片输出页面。
比如输出页面getImg.aspx的代码
Code
protected void Page_Load(object sender, EventArgs e)
{
string sql = "select IMGDATA from t_img where imgID=100";
string strconn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringForOracle"].ToString();
OracleConnection oraConn = new OracleConnection(strconn);
OracleCommand oraComm = new OracleCommand(sql, oraConn);

oraConn.Open();
byte[] fileData = (byte[])oraComm.ExecuteScalar();
oraConn.Close();

System.IO.MemoryStream ms = new System.IO.MemoryStream(fileData);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}

如果是多张图片 

Code
SqlDataReader sdr2 = c.drPicture(pid);

                if (sdr2.Read())
                {
                    MemoryStream ms1 = new MemoryStream((byte[])sdr2["pica"]);
                    if (ms1.Length > 0)
                    {
                        pica.SizeMode = PictureBoxSizeMode.StretchImage;  //保持图片不走样
                        pica.Image = Image.FromStream(ms1, true);
                    }
                    MemoryStream ms2 = new MemoryStream((byte[])sdr2["picb"]);
                    if (ms2.Length > 0)
                    {
                        picb.SizeMode = PictureBoxSizeMode.StretchImage;
                        picb.Image = Image.FromStream(ms2, true);
                    }
                    MemoryStream ms3 = new MemoryStream((byte[])sdr2["picc"]);
                    if (ms3.Length > 0)
                    {
                        picc.SizeMode = PictureBoxSizeMode.StretchImage;
                        picc.Image = Image.FromStream(ms3, true);
                    }
                    MemoryStream ms4 = new MemoryStream((byte[])sdr2["picd"]);
                    if (ms4.Length > 0)
                    {
                        picd.SizeMode = PictureBoxSizeMode.StretchImage;
                        picd.Image = Image.FromStream(ms4, true);
                    }
                    sdr2.Close();
                }

 public SqlDataReader drPicture(string pid)
        {
            db.Begin();

            string str2 = "select * from T_picture where pid = '" + pid + "'";

            SqlCommand sc2 = new SqlCommand(str2, db.conn);

            SqlDataReader sdr2 = sc2.ExecuteReader();

            return sdr2;
        }


精彩图集

赞助商链接