Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法从c中的数据库检索图像#_C#_Asp.net - Fatal编程技术网

C# 无法从c中的数据库检索图像#

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

我在本地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”

下面是我的代码

有没有人对如何完成这项工作并使其工作有任何想法。一旦我能做到这一点,我的所有代码都非常好


也是的,我知道我没有使用参数。一旦我能够显示图像,这将很快出现。

您有几个问题

  • 您对
    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();