【发布时间】:2014-07-26 04:11:16
【问题描述】:
我在尝试将流转换为图像时遇到问题。它向我显示了以下错误:
Image returnImage = Image.FromStream(ms);
if (reader[12] != System.DBNull.Value)
{
Byte[] image = (Byte[])reader[12];
c.image = byteArrayToImage(image);
}
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream();
ms.Write(byteArrayIn, 0, byteArrayIn.Length);
ms.Seek(0, SeekOrigin.Begin);
ms.Close();
Image returnImage = Image.FromStream(ms);
return returnImage;
}
【问题讨论】:
-
你遇到了什么错误?
-
顺便说一句,您可以使用
new MemoryStream(byteArrayIn)并为您自己节省Write和Seek调用。 -
是的。它向您显示一个错误。我们是否应该猜测或投入工作,或者你能 - 啊 - 足够聪明地告诉我们错误,也是吗?提示:看看代码,错误,你可能会意识到阅读错误是有道理的。
-
第一次它告诉我它无法读取一个封闭的流,我删除 ms.close() 现在它告诉我 Le paramètre n'est pas valide。 (无效参数)
-
@user3710293 查看 Dmitry 和我给出的答案,然后选择您更喜欢的答案。由于您将关闭的流传递给
FromStream方法,因此引发“无效参数”错误。
标签: c# sql sql-server image