下面这段代码,你们看有没有问题?
private static Image GetImageByBytes(byte[] bytes)
{
using (MemoryStream ms = new MemoryStream(bytes))
{
ms.Write(bytes, 0, bytes.Length);
return Image.FromStream(ms,true,true);
}
}
读取出来的图片死活不能用, 弄了好久才找到这段代码的原因,原因是MemoryStream不能清理掉,清理掉就出错了,会报System.Runtime.InteropServices.ExternalException:“GDI+ 中发生一般性错误。”
后来改成下面的代码就好了
private static Image GetImageByBytes(byte[] bytes)
{
MemoryStream ms = new MemoryStream(bytes);
ms.Write(bytes, 0, bytes.Length);
return Image.FromStream(ms, true);
}
FromStream也是一样的道理