二进制转换为图片是出现在分析完成之前就遇到流结尾。解决思路
二进制转换为图片是出现在分析完成之前就遇到流结尾。
BinaryFormatter bf = new BinaryFormatter();
byte[] arr = (byte[])model_Additional.Drug_image;
MemoryStream s = new MemoryStream(arr);
s.Position = 0; ;
this.pictureEdit1.Image = (Image)bf.Deserialize(s);
怎么搞呀各位大神
------解决思路----------------------
Image.FromStream(s);
估计这样就成功了,根本不需要BinaryFormatter
------解决思路----------------------
将数据库中保存的二进制数据转换图片
protected void Page_Load(object sender, EventArgs e)
{
string requestID = Request.QueryString["id"];//获取Default.aspx页面传过来的id值
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
string strsql = "select * from [PerHomeDetail] where PerHomeId=" + requestID;
SqlCommand comm = new SqlCommand(strsql, conn);//创建命令对象
conn.Open();
SqlDataReader dr = comm.ExecuteReader();//创建数据阅读器
if (dr.HasRows)
{
while (dr.Read())
{
byte[] imageData = (byte[])dr["PerHomeLogo"];
Response.BinaryWrite(imageData);//输出二进制流形式的图片
}
}
dr.Close();
conn.Close();
}
BinaryFormatter bf = new BinaryFormatter();
byte[] arr = (byte[])model_Additional.Drug_image;
MemoryStream s = new MemoryStream(arr);
s.Position = 0; ;
this.pictureEdit1.Image = (Image)bf.Deserialize(s);
怎么搞呀各位大神
------解决思路----------------------
Image.FromStream(s);
估计这样就成功了,根本不需要BinaryFormatter
------解决思路----------------------
将数据库中保存的二进制数据转换图片
protected void Page_Load(object sender, EventArgs e)
{
string requestID = Request.QueryString["id"];//获取Default.aspx页面传过来的id值
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
string strsql = "select * from [PerHomeDetail] where PerHomeId=" + requestID;
SqlCommand comm = new SqlCommand(strsql, conn);//创建命令对象
conn.Open();
SqlDataReader dr = comm.ExecuteReader();//创建数据阅读器
if (dr.HasRows)
{
while (dr.Read())
{
byte[] imageData = (byte[])dr["PerHomeLogo"];
Response.BinaryWrite(imageData);//输出二进制流形式的图片
}
}
dr.Close();
conn.Close();
}