如何用上传控件把一个图片用流的方式存放到SQL数据库,然后再通过数据库读出图片在页面显示?
  大虾 来帮忙啊!   
  代码 要详细点。

解决方案 »

  1.   

    // fupload是fileupload控件
    // 获取上传文件的数据流
    var stream = fupload.PostedFile.InputStream;
    var len = stream.Length;
    var data = new Byte[len];
    stream.Read(data, 0, data.Length);
    stream.Flush();
    stream.Close();// 将数据写入到数据库
    var connStr = @"...";
    using (SqlConnection conn = new SqlConnection(connStr))
    {
        conn.Open();
        SqlCommand cmd = new SqlCommand("INSERT INTO Table(f_img) VALUES (@img)", conn);
        SqlParameter param = new SqlParameter("@img", SqlDbType.Image, int.MaxValue);
        param.Value = data
        cmd.Parameters.Add(param);
        cmd.ExecuteNonQuery();
    }
      

  2.   

     SqlConnection con = new SqlConnection("server=(local);user id=sa;pwd=;database=db_07");
            string imagename = "";
            try
            {
                con.Open();
                SqlCommand com = new SqlCommand("select name from tb_17 where id="+DropDownList1.Text+"", con);
                SqlDataReader dr = com.ExecuteReader();
                dr.Read();
                MemoryStream ms = new MemoryStream((Byte[])dr["name"]);
                Bitmap image = new Bitmap(ms);
                string filepath = Server.MapPath("Files/");
                DirectoryInfo dir = new DirectoryInfo(filepath);
                FileInfo[] filecount = dir.GetFiles();
                int i = filecount.Length;
                imagename = filepath + ((i + 1) + ".jpg");
                image.Save(imagename);
                dr.Close();
                Image1.ImageUrl = "Files/" + ((i + 1) + ".jpg");
            }
            finally
            {
                con.Close();
            }