上传图片到数据库时候,上传成功后,在IMAGE中显示出来,不成功就提示。
主要是如何在IMAGE中显示出来?图片保存到数据库中为二进制形式,不是保存图片地址。
求各位达人给思路,或是具体代码;
页面如下:
updateimage.aspx
中有一个IMAGE控件,一个btn_COMMIT按钮,还有TXT文本框和浏览按钮
如何在偶浏览本地图片后,点击按钮上传图片,保存数据库,如果保存成功的话,在IMAGE控件里显示出来。不跳转页面,直接在本页面内显示。

解决方案 »

  1.   

    借助一个页面来显示,显示的页面的.cs文件内容(.aspx中不用管):
    protected void Page_Load(object sender, EventArgs e)
        {
            string id = Request.QueryString["id"];
            if (id != null && id.CompareTo("") != 0)
            {
                string connStr = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
                string SqlStr = "SELECT * FROM test02 where id = " + id;
                DataSet ds = new DataSet();            try
                {
                    SqlConnection conn = new SqlConnection(connStr);
                    if (conn.State.ToString() == "Closed") conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);
                    da.Fill(ds, "test01");
                    if (conn.State.ToString() == "Open") conn.Close();
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        //生成文件
                        //Byte[] FileByteArray =(byte[])ds.Tables[0].Rows[0]["pic"];
                        //File.WriteAllBytes("d:\\a.jpg", FileByteArray);                    Response.BinaryWrite((byte[])ds.Tables[0].Rows[0]["pic"]);
                        Response.End();
                    }
                }
                catch (Exception ex)
                {
                    Response.Write("数据库错误,错误原因:" + ex.Message);
                    Response.End();
                }
            }
        }<img src="showpic.aspx?id=29">
    这样来显示,IMAGE控件的也是一样,直接设置它的路径即可
      

  2.   

    int err=0;
    try
    {
      file.postedfile.saveas(...);
    }
    catch
    {
    err=err+1;
    }
    if(err=0)
    {
    image1.imageurl=...
    }
      

  3.   

    这问题很多的人问,推荐
    http://singlepine.cnblogs.com/articles/288027.html
    我经常发 小山老师 blog的地址解答人的问题,不知道他会不会向我要钱,还是奖励我啊!
    呵呵