Image.FromStream参数无效

SqlConnectioncon=newSqlConnection("server=.;database=xiaoluo1;integratedsecurity=true... SqlConnection con = new SqlConnection("server=.;database=xiaoluo1;integrated security=true");
SqlCommand cmd = new SqlCommand("select * from photo", con);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
MemoryStream ms = new MemoryStream((byte[])reader["照片"]);
Image image = Image.FromStream(ms);
reader.Close();
con.Close();
pictureBox1.Image = image;
展开
 我来答
stzen
2012-03-13
知道答主
回答量:3
采纳率:100%
帮助的人:2254
展开全部
这个问题前面的回答是对路的,问题确实出在入库而不在读取上,入库时候流没处理好,我曾经遇到的错误是这样的:
MemoryStream stream = new MemoryStream();
PictureBox1.Image.Save(stream, ImageFormat.Bmp ); //这里出错,原图片格式是JPEG
byte [] bytestream = new byte [ stream.Length ];
stream .Read (bytestream ,0,bytestream .Length );
stream.Flush();
//插入数据库新记录
DataAdapter.InsertQuery(bytestream);

这样,读数据显示的时候就出现了Image.FromStream参数无效的错误。
多次测试后发现是自作聪明定义了流转换的格式,改成下面这样后,读数据库图片时候参数错误的问题就消失了:
MemoryStream stream = new MemoryStream();
PictureBox1.Image.Save(stream,PictureBox1 .Image .RawFormat );
byte[] bytestream = stream.ToArray();
stream.Flush();
//插入数据库新记录
DataAdapter.InsertQuery(bytestream);
管怀珊
2011-05-24 · TA获得超过712个赞
知道小有建树答主
回答量:903
采纳率:0%
帮助的人:531万
展开全部

FromStream 异常,说明传入的stream参数无效,你需要确认,你的图片流是有效的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Yp280
2012-04-06
知道答主
回答量:5
采纳率:0%
帮助的人:3.1万
展开全部
我也遇到这个问题了,纠结好几天了,还是没有解决,ms明明取到值了,可是在FromStream中还是无效
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式