2017-02-17 6 views
0

Ich bin ein .NET Student, der versucht, ein Image aus der Datenbank (varbinary (MAX)) zu holen und es in eine Imagedatei zu konvertieren. Es ist mir gelungen, ein Bild in byte [] umzuwandeln und in der Datenbank zu speichern. Dies ist mein Code so weit versucht, das Bild zurück zu bekommen:Bild aus Byte erstellen []

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; 
    } 

Ich habe das Problem, dass ich weiß ist, dass Visul Studio dies sagt:

Severity Code Beschreibung Projektdatei Zeilenunterdrückung Staat Fehler CS0117 'Image' enthält keine Definition für 'FromStream' ImageToDB..NETCoreApp, Version = v1.0 D: \ Kay \ ASP.NET MVC \ ImageToDatabase \ ImageToDB \ src \ ImageToDB \ Controllers \ HomeController.cs 40 Aktiv

Dies ist der Image-Klasse von Namespace System.Drawing (nicht meine eigene Klasse):

namespace System.Drawing 
{ 
    public abstract class Image 
    { 
     protected Image(); 
solution 
     public delegate bool GetThumbnailImageAbort(); 
    } 
} 

Meine Abhängigkeiten:

{ 
    "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" 
     ] 
    } 
    }, 

Wenn ich diffrent Beispiele auf dem Netz sehen Ich sehe dies oft Lösung, aber wenn ich versuche, es zu benutzen, bekommt der FromStream einen roten Schnörkel.

Sagen Sie mir, wenn Sie noch etwas mehr von meinem Code sehen möchten, und ich werde es bringen.

Vielen Dank im Voraus für alle Hilfe

+0

Wenn Sie sagen, „Das ist die Image-Klasse ist“ - meinen Sie, Sie haben Ihre eigene Image-Klasse erstellt? Wenn ja, tu das nicht ... wenn nicht, bitte klarstellen. (Bitte geben Sie auch an, auf welche .NET-Version Sie zielen. Es sieht so aus, als wäre es .NET Core, aber welche Version?) –

+0

Entschuldigung. Ich habe diese Klasse nicht erstellt. Wird klären, dass – AllramEst

+3

Mögliche Duplikate von [Konvertieren von Bytes zum Bild in Cis-Netz] (http://StackOverflow.com/Questions/2623198/Convert-Bytes-To-image-in-C-sharp-net) –

Antwort

0

Ich knacke den Fall. Meine Lösung.

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"); 
    } 

Ansicht

 @model ImageToDB.Models.Kund 

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