应该没有要求的:
比如写入数据库:
SqlConnection myConnection = new SqlConnection(twoa.lib.DBData.ConnStr); int intImgDataLen = FileImg.PostedFile.ContentLength;
byte[] ImgData = new byte[intImgDataLen];
ImgStream.Read(ImgData,0,intImgDataLen);
SqlCommand myCommand = new SqlCommand("INSERT INTO T_Port_NewsImg (ImgID,NewsID,NewsImg) VALUES (@ImgID , @NewsID , @ImgData)", myConnection); myCommand.Parameters.Add(new SqlParameter("@ImgData",SqlDbType.Image));
myCommand.Parameters["@ImgData"].Value=ImgData;
myCommand.Parameters.Add(new SqlParameter("@ImgID",SqlDbType.Int,10));
myCommand.Parameters["@ImgID"].Value = int.Parse(strImgID);
myCommand.Parameters.Add(new SqlParameter("@NewsID",SqlDbType.Int,10));
myCommand.Parameters["@NewsID"].Value = int.Parse(strNewsID); myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();从数据库中读出:
SqlCommand ncmdCommand = new SqlCommand(nstrSql,nclsDBData.Conn);
SqlDataReader ndrReader =ncmdCommand.ExecuteReader();
if(ndrReader.Read())
{
Response.Clear();
Response.ContentType = "image/jpeg";
Response.BinaryWrite( (byte[]) ndrReader[0] );
Response.End();
}注意这里:Response.ContentType = "image/jpeg";
我这里只是显示jpg和gif图片,你可以在输入的时候读出输入文件的contenttype写入数据库,这样输出的时候,从数据库中读出contenttype的值。
比如写入数据库:
SqlConnection myConnection = new SqlConnection(twoa.lib.DBData.ConnStr); int intImgDataLen = FileImg.PostedFile.ContentLength;
byte[] ImgData = new byte[intImgDataLen];
ImgStream.Read(ImgData,0,intImgDataLen);
SqlCommand myCommand = new SqlCommand("INSERT INTO T_Port_NewsImg (ImgID,NewsID,NewsImg) VALUES (@ImgID , @NewsID , @ImgData)", myConnection); myCommand.Parameters.Add(new SqlParameter("@ImgData",SqlDbType.Image));
myCommand.Parameters["@ImgData"].Value=ImgData;
myCommand.Parameters.Add(new SqlParameter("@ImgID",SqlDbType.Int,10));
myCommand.Parameters["@ImgID"].Value = int.Parse(strImgID);
myCommand.Parameters.Add(new SqlParameter("@NewsID",SqlDbType.Int,10));
myCommand.Parameters["@NewsID"].Value = int.Parse(strNewsID); myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();从数据库中读出:
SqlCommand ncmdCommand = new SqlCommand(nstrSql,nclsDBData.Conn);
SqlDataReader ndrReader =ncmdCommand.ExecuteReader();
if(ndrReader.Read())
{
Response.Clear();
Response.ContentType = "image/jpeg";
Response.BinaryWrite( (byte[]) ndrReader[0] );
Response.End();
}注意这里:Response.ContentType = "image/jpeg";
我这里只是显示jpg和gif图片,你可以在输入的时候读出输入文件的contenttype写入数据库,这样输出的时候,从数据库中读出contenttype的值。
{
// imgstream=new MemoryStream((byte[])this.pictureBox1.Image);
byte[] imgData = new byte[imgstream.Length];//临时存放图片二进制数组
imgstream.Read(imgData,0,imgData.Length);//图片二进制放入临时数组
//把图片二进制文件插入数据库
clsSQL insertimg=new clsSQL();
。存完了后取得问题
byte [] imgdata=(byte[])this.dtMaterialDetail.Rows[iNum][2];
if(imgdata==null)return;
Stream imgStream=new MemoryStream(imgdata);
Image tempimg=Image.FromStream(imgStream);
pbKeyImg.Image=tempimg;//关键帧图片
pbKeyImg.SizeMode = PictureBoxSizeMode.StretchImage;