C# 无法从c中的数据库检索图像#
我在本地mdf数据库中以字节为单位存储了图像。我在检索它以查看时遇到问题。我正在使用ASP.net和c 错误1“System.Web.UI.WebControl.Image”不包含 “Image”的定义,没有扩展方法“Image”接受 类型为“System.Web.UI.WebControls.Image”的第一个参数可以是 找到(是否缺少using指令或程序集引用?) 错误2“图像”是之间的不明确引用 “System.Drawing.Image”和“System.Web.UI.WebControl.Image” 下面是我的代码 有没有人对如何完成这项工作并使其工作有任何想法。一旦我能做到这一点,我的所有代码都非常好C# 无法从c中的数据库检索图像#,c#,asp.net,C#,Asp.net,我在本地mdf数据库中以字节为单位存储了图像。我在检索它以查看时遇到问题。我正在使用ASP.net和c 错误1“System.Web.UI.WebControl.Image”不包含 “Image”的定义,没有扩展方法“Image”接受 类型为“System.Web.UI.WebControls.Image”的第一个参数可以是 找到(是否缺少using指令或程序集引用?) 错误2“图像”是之间的不明确引用 “System.Drawing.Image”和“System.Web.UI.WebContr
也是的,我知道我没有使用参数。一旦我能够显示图像,这将很快出现。您有几个问题
image.FromStream(ms)
使用了错误的图像类。改为写:System.Drawing.Image.FromStream(ms)
。(但你无论如何都不需要这个)Image.FromStream(ms)
返回一个Image
对象,而Image1.ImageUrl
需要一个字符串路径Image1.ImageUrl
指向将图像字节数组写入响应流的页面
在您的代码中,指向页面GetImage.aspx
Image1.ImageUrl = "GetImage.aspx";
在GetImage
页面中,将带有图像的内存流写入响应输出流:
Response.Clear();
Response.ContentType = "image/jpg"; //Or whatever it is
Response.Buffer = true;
ms.WriteTo(Response.OutputStream);
Response.End();
我更喜欢使这个HTML更易于管理,因此将SQL二进制文件流式传输到文件中,并用HTML代码显示它。
尝试使用
System.IO
命名空间将图像写入临时服务器位置,然后使用临时文件路径以HTML标记显示图像。删除会话结束时的临时文件。如果您需要代码,请告诉我。您能详细说明您遇到的问题吗?看起来你什么都不退。另外,确保所有一次性物品都已妥善处置。您是否正在查找Image.FromStream(ms)
?-对于那些SQL对象,您应该使用using
,因为它们需要处理。@AlexK。我尝试过使用Image1.ImageUrl=Image.FromStream(ms);但是它不喜欢FromStream部分。它声明它没有定义,您需要使用System.Drawing代码>以及对它的引用too@AlexK. 我该如何引用它?我还更新了上面的代码
Response.Clear();
Response.ContentType = "image/jpg"; //Or whatever it is
Response.Buffer = true;
ms.WriteTo(Response.OutputStream);
Response.End();