C# 从varbinary case sql server c读取图像#
我在尝试将流转换为图像时遇到问题。它向我显示了以下方面的错误:C# 从varbinary case sql server c读取图像#,c#,sql,sql-server,image,C#,Sql,Sql Server,Image,我在尝试将流转换为图像时遇到问题。它向我显示了以下方面的错误: Image returnImage=Image.FromStream(毫秒) 您不应该这么快就关闭流: 您不应该这么快就关闭流: 该代码可能会生成GDI+错误。因此,您根本不必担心不处理流。垃圾回收器无论如何都会这样做,因此如果在GDI+中出现错误,请使用以下方法: MemoryStream ms = new MemoryStream(byteArrayIn); Image returnImage = Image.FromStrea
Image returnImage=Image.FromStream(毫秒)代码>
您不应该这么快就关闭流:
您不应该这么快就关闭流:
该代码可能会生成GDI+错误。因此,您根本不必担心不处理流。垃圾回收器无论如何都会这样做,因此如果在GDI+中出现错误,请使用以下方法:
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
该代码可能会生成GDI+错误。因此,您根本不必担心不处理流。垃圾回收器无论如何都会这样做,因此如果在GDI+中出现错误,请使用以下方法:
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
您遇到了什么样的错误?顺便说一句,您可以执行newmemoryStream(byteArrayIn)
并保存自己的Write
和Seek
调用。是的。它显示了一个错误。我们是否应该猜测或投入工作,或者你能-啊-足够聪明地告诉我们错误吗?提示:看一下代码,你可能会意识到读错误是有道理的。首先,它告诉我它不能读一个封闭的流,我删除了close()女士,现在它告诉我参数是有效的。(无效参数)@user3710293查看Dmitry和我给出的答案,然后选择您更喜欢的答案。“无效参数表”错误被抛出,因为您将一个关闭的流传递给FromStream
方法。您得到了什么样的错误?作为一种补充,您可以执行新建内存流(byteArrayIn)
并保存您自己的写入和查找调用。是的。它显示了一个错误。我们是否应该猜测或投入工作,或者你能-啊-足够聪明地告诉我们错误吗?提示:看一下代码,你可能会意识到读错误是有道理的。首先,它告诉我它不能读一个封闭的流,我删除了close()女士,现在它告诉我参数是有效的。(无效参数)@user3710293查看Dmitry和我给出的答案,然后选择您更喜欢的答案。“无效参数”错误被抛出,因为您将一个关闭的流传递给FromStream
方法。
...
using (MemoryStream ms = new MemoryStream()) {
ms.Write(byteArrayIn, 0, byteArrayIn.Length);
ms.Seek(0, SeekOrigin.Begin);
return Image.FromStream(ms);
}
MemoryStream ms = new MemoryStream();
ms.Write(byteArrayIn, 0, byteArrayIn.Length);
ms.Seek(0, SeekOrigin.Begin);
ms.Close(); // <-- Remove this line
Image returnImage = Image.FromStream(ms);
return returnImage;
using (MemoryStream ms = new MemoryStream(byteArrayIn))
{
Image returnImage = Image.FromStream(ms);
return returnImage;
}
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;