我是利用上传把图片存到数据库中的,可是我不知道怎样从数据库中读出来。请指教
我把图片存到数据库的代码是这样的。
                            ArrayList arr;                           
                            int ImageSize=0;
byte[] ImageBuffer;
string FileName;
FileInfo TpFile;
FileStream fs=null;
FileName=Server.MapPath("\\BookShop\\UpFile").ToString().Trim()+"\\"+ViewState["PostFileName"];
TpFile=new FileInfo(FileName);
ImageSize=(int)TpFile.Length;
                            fs=new FileStream(FileName,FileMode.OpenOrCreate);
BinaryReader r=new BinaryReader(fs);
r.BaseStream.Seek(0,SeekOrigin.Begin);
ImageBuffer=r.ReadBytes(ImageSize);
                           arr=new ArrayList();
arr.Add(ImageBuffer);
myBook.AddBook(arr);
其中AddBook是个函数,他通过存储过程把图片存到数据库中,程序部分代码如下:
SqlConnection myCn=new SqlConnection(strConn);
SqlCommand myCm=new SqlCommand("AddBook",myCn);
myCm.CommandType =CommandType.StoredProcedure ;
myCm.Parameters.Add(new SqlParameter("@cover",SqlDbType.Image ));
myCm.Parameters["@cover"].Value =tempary[0];
myCn.Open() ;
myCm.ExecuteNonQuery() ;

解决方案 »

  1.   

    Image 获取或设置显示在 Label 上的图像。
      

  2.   

    string[] files=Directory.GetFiles(this.Server.MapPath("images"));可以用模版列来实现!我就是这样实现的!
      

  3.   

    二、显示数据库中的图像数据前文我们介绍了利用OleDb.NET将图片保存到数据库的实现方法,现在,我们同样使用OleDb.NET将来自数据库的图像数据在页面显示出来。首先,我们来看实现数据显示的类,代码如下:namespace UploadSample {
    public class MainDisplay : System.Web.UI.Page {
    public void Page_Load(System.Object sender, System.EventArgs e) {
    int ImgID = System.Convert.ToInt32(Request.QueryString["ImgID"]);System.Data.OleDb.OleDbConnection Con = new System.Data.OleDb.OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;" +"Integrated Security=SSPI;Initial Catalog=northwind");System.String SqlCmd = "SELECT * FROM Images WHERE ImageID = ?";System.Data.OleDb.OleDbCommand OleDbCmdObj = new System.Data.OleDb.OleDbCommand(SqlCmd, Con);OleDbCmdObj.Parameters.Add("@ImageID", System.Data.OleDb.OleDbType.Integer).Value = ImgID;
    Con.Open();
    System.Data.OleDb.OleDbDataReader OleReader = OleDbCmdObj.ExecuteReader();OleReader.Read();
    Response.ContentType = (string)OleReader["ContentType"];
    Response.OutputStream.Write((byte[])OleReader["Image"], 0, (int)OleReader["ByteSize"]);
    Response.End();
    Con.Close();
    }
    }
    }在以上的代码中,我们实现使用Request.QueryString["ImgID"]取得要求显示的图片的ImgID,这个ImgID就是图片在数据库中的唯一ID,该ID是上传图像数据的时候,数据库直接生成的。