C# Image.FromStream(MemoryStream对象)

C# Image.FromStream(MemoryStream对象),c#,C#,这是我正在使用的代码。问题是,只要调试器处理这一行: using (MemoryStream mem = new MemoryStream(data)) { System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(mem); } 它给出的错误参数无效。所以在我检查了“mem”的参数之后 在调试过程中,我注意到position参数每次都设置为零 我注意到这里还有一件事: 当我从url:external.xx.fbcdnsa

这是我正在使用的代码。问题是,只要调试器处理这一行:

using (MemoryStream mem = new MemoryStream(data))
{
 System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(mem);
}
它给出的错误参数无效。所以在我检查了“mem”的参数之后 在调试过程中,我注意到position参数每次都设置为零

我注意到这里还有一件事: 当我从url:external.xx.fbcdnsafe开头的源接收图像时。。。位置参数没有设置为某个值,总是设置为零,这就是我得到错误的时间。请参考屏幕截图

但对于以URL开头的图像:scocontent.xx.fbcdn.n。。。 位置参数正在设置一些值。请参考截图

当流的格式无法识别为图像时,您会收到“参数无效”异常。看


检查从您的scontent.xx.fbcdn.n收到的数据的内容。。。网址。可能是404错误或其他内容,而不是有效的图像数据。

谢谢。。。我猜external.xx.fbcdn中的图像不是有效的图像,或者格式不正确,因此这可能会在解析该图像时产生问题。。。
System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(mem);