Image.FromStream 有效流如何判断?(参数无效)

sia0328 2012-05-01 09:18:46
Image.FromStream 参数无效 异常
数据流是网络上获取下来的gif图片,可是用Image.FromStream就是出错,
不知道为什么,找高手有偿解决此问题!
对了,还有就是在win7下程序不会抛出异常的。
可是在服务器2003上就会出这个异常!
...全文
1720 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbzhucc 2012-05-07
  • 打赏
  • 举报
回复
我前天也碰到这个问题,当时有个帖子说的是传入的地址为空,
后来我查看了下,确实是如此
988kook 2012-05-07
  • 打赏
  • 举报
回复
哦 我这个是保存到数据库中是 SqlDbType.Image 类型的 数据库中读取出来 需要转换成byte[]
MemoryStream m = new MemoryStream((byte[])byteImage);
你的是不是也是从数据库中读取的呢~
988kook 2012-05-07
  • 打赏
  • 举报
回复

FileStream f = new FileStream("dizhi",FileMode.Open,FileAccess.Read);
BinaryReader b = new BinaryReader(f);
byte[] byteImage = b.ReadBytes((int)f.Length);



MemoryStream m = new MemoryStream((byte[])byteImage);
Image image = Image.formStream(m);


今天在书店看到的
988kook 2012-05-07
  • 打赏
  • 举报
回复

MemoryStream m = new MemoryStream((byte[])byteImage);
歌神的卖 2012-05-03
  • 打赏
  • 举报
回复
Image.FromStream();这个函数里的参数是图片的二进制数据,如果你放的是图片的路径的话,就会参数无效,你可以直接image控件.image=图片路径,这样访问
蔡袅 2012-05-03
  • 打赏
  • 举报
回复
 private static void TestImageFromStream()
{
string str = @"http://www.XXXX.1.gif";
FileStream fs = new FileStream(str, FileMode.Open, FileAccess.Read);
BinaryReader by = new BinaryReader(fs);
int length = (int)fs.Length;
byte[] imgbyte = by.ReadBytes(length);

MemoryStream ms = new MemoryStream(imgbyte);
ms.Seek(0, SeekOrigin.Begin);
Image image = Image.FromStream(ms);
}
test2050 2012-05-03
  • 打赏
  • 举报
回复
不行就换一种写法,不要死抠
孟子E章 2012-05-03
  • 打赏
  • 举报
回复
贴你的代码,谁知道你怎么写的?
sia0328 2012-05-03
  • 打赏
  • 举报
回复
自己顶一下,请高手帮我一下!
sia0328 2012-05-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
请问是什么异常,你得给异常信息啊
[/Quote]
抛出的异常就是说Image.FromStream (参数无效)
郁闷
sia0328 2012-05-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
数据流是网络上获取下来的gif图片是否存在,可能你没获取到那张图的流。你可以换成网上另一张图片试试
[/Quote]
图片的是存在的,我查过response,里面是有数据
而且这程序我在win7本地运行是没问题的,可以下载图片,就是在2003上面出问题,郁闷死了
zhujiawei7 2012-05-01
  • 打赏
  • 举报
回复
请问是什么异常,你得给异常信息啊
EnForGrass 2012-05-01
  • 打赏
  • 举报
回复
数据流是网络上获取下来的gif图片是否存在,可能你没获取到那张图的流。你可以换成网上另一张图片试试
sia0328 2012-05-01
  • 打赏
  • 举报
回复
。。。。帮我一下啊。。。
sia0328 2012-05-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
参考
http://topic.csdn.net/t/20050702/17/4118959.html
http://social.msdn.microsoft.com/Forums/zh-CN/2212/thread/9bedb5ca-975c-4fc2-85ce-5ebff26ea7d8/
[/Quote]
请不要发网址了,网上的相关资料我全部都看过,GOOGLE ,百度能查到的,我都看过
还有,我说的参数无效是异常,实际上这个参数是一张图片,这张图片用IE是能打的开的,就是可能是非标准的,有什么办法能使他标准起来?
sia0328 2012-05-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
就是在2003上面出问题?
你的这个机器浏览器访问那个图片正常吗???设置代理服务器了吗
[/Quote]
没有设置代理服务器,而且这个图片在IE下是能打开的,图片是能看到的,是有效的,可能是不规范的GIF格式吧
所以有没有办法导入这种非标准的图片格式流呢?
孟子E章 2012-05-01
  • 打赏
  • 举报
回复
就是在2003上面出问题?
你的这个机器浏览器访问那个图片正常吗???设置代理服务器了吗
zhujiawei7 2012-05-01
  • 打赏
  • 举报
回复
参考
http://topic.csdn.net/t/20050702/17/4118959.html
http://social.msdn.microsoft.com/Forums/zh-CN/2212/thread/9bedb5ca-975c-4fc2-85ce-5ebff26ea7d8/

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧