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

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

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
3.Access数据库。在Access中我们使用OLE对象字段类型,最大支持1G的数据。 Code byte[] fileData = this.FileUpload1.FileBytes; string sql = "insert into t_img(IMGDATA) values(?)"; s

3.Access数据库。在Access中我们使用OLE对象字段类型,最大支持1G的数据。

Code
byte[] fileData = this.FileUpload1.FileBytes;

string sql = "insert into t_img(IMGDATA) values(?)";
string strconn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringForAccess"].ToString();

OleDbConnection oleConn = new OleDbConnection(strconn);
OleDbCommand oleComm = new OleDbCommand(sql, oleConn);
oleComm.Parameters.Add("imgdata", OleDbType.Binary);
oleComm.Parameters["imgdata"].Value = fileData;

oleConn.Open();
oleComm.ExecuteNonQuery();
oleConn.Close();

==============
1、数据库读取文件转化成二进制数组
2、二进制数组转化图片

Code
private byte[] getImageDataFromOracle()
{
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();

return fileData;
}

我们获取到了数据,那么把byte[]转换为图片的过程都是一样的。

Code
private System.Drawing.Image convertByteToImg(byte[] imgData)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream(imgData);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}


精彩图集

赞助商链接