C# 从字节[]创建图像

C# 从字节[]创建图像,c#,arrays,image-processing,asp.net-core-mvc,C#,Arrays,Image Processing,Asp.net Core Mvc,我是一名.NET学生,试图学习如何从数据库(varbinary(MAX))获取图像并将其转换为图像文件。我已成功地将图像转换为字节[],并将其保存到数据库中。这是我到目前为止试图恢复图像的代码: public IActionResult Index() { var kund = DbContext.Kunder.SingleOrDefault(p => p.KundId == 2); byte[] byteImage = kund.Bild

我是一名.NET学生,试图学习如何从数据库(varbinary(MAX))获取图像并将其转换为图像文件。我已成功地将图像转换为字节[],并将其保存到数据库中。这是我到目前为止试图恢复图像的代码:

    public IActionResult Index()
    {

        var kund = DbContext.Kunder.SingleOrDefault(p => p.KundId == 2);
        byte[] byteImage = kund.Bild;

        Image image = byteArrayToImage(byteImage);

        return View();
    }

    public Image byteArrayToImage(byte[] byteArrayIn)
    {
        MemoryStream ms = new MemoryStream(byteArrayIn);
        Image returnImage = Image.FromStream(ms);
        return returnImage;
    }
我所知道的问题是Visul Studio告诉我:

严重性代码说明项目文件行抑制状态 错误CS0117“图像”不包含的定义 “FromStream”ImageToDB..NETCoreApp,版本=v1.0 D:\Kay\ASP.NET MVC\ImageToDatabase\ImageToDB\src\ImageToDB\Controllers\HomeController.cs 40处于活动状态

这是命名空间System.Drawing中的Image类(不是我自己的类):

我的依赖项:

    {
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.Routing": "1.0.1",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
    "Microsoft.EntityFrameworkCore": "1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",

  },

  "tools": {
    "BundlerMinifier.Core": "2.0.238",
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },
当我在网络上查看不同的示例时,我经常看到这个解决方案,但当我尝试使用它时,FromStream得到一个红色的波形

告诉我,如果你还想从我的代码中看到什么,我会把它带来


提前感谢所有的帮助

我破案了。我的解决方案

   public IActionResult Index()
    {

        var kund = DbContext.Kunder.SingleOrDefault(p => p.KundId == 1);
        //byte[] byteArray = DbContext.Kunder.Find(kund).Bild;
        byte[] byteImage = kund.Bild;


        return File(byteImage, "image/jpg");
    }
看法

@model-ImageToDB.Models.Kund

当你说“这是图像类”时,你的意思是你已经创建了自己的图像类吗?如果是这样,不要那样做。。。如果没有,请澄清。(另外,请说明您的目标是.NET的哪个版本。它看起来像是.NET核心,但它是哪个版本?)问题是,您使用的是哪个图像。我看不到您的“使用”定义。你确定这是系统绘图的图像吗?对不起。我没有创建那个类。将澄清@MAdeelKhalid问题的可能重复与.NET核心相关,而与.NET无关,它们是不同的,相同的答案不适用于两者。
   public IActionResult Index()
    {

        var kund = DbContext.Kunder.SingleOrDefault(p => p.KundId == 1);
        //byte[] byteArray = DbContext.Kunder.Find(kund).Bild;
        byte[] byteImage = kund.Bild;


        return File(byteImage, "image/jpg");
    }
     @model ImageToDB.Models.Kund

 <img src="@Url.Action("RenderImage", new { id = Model.Bild})" />