2017-02-17 8 views
0

Я - ученик .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 студия говорит следующее:

Тяжесть Код Описание проекта Подавление линии Файл государства Ошибка CS0117 «Изображение» не содержит определения для «FromStream» ImageToDB..NETCoreApp, Version = v1.0 D: \ Kay \ ASP.NET MVC \ ImageToDatabase \ ImageToDB \ src \ ImageToDB \ Controllers \ HomeController.cs 40 Активный

Это класс Image из пространства имен System.Drawing (не мой собственный класс):

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

Моей зависимости:

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

Когда я смотрю на diffrent примеров в Интернете я часто вижу это решение, но когда я пытаюсь использовать его, FromStream получает красное squiggly.

Скажите, есть ли что-нибудь еще, что вы хотели бы видеть из моего кода, и я принесу его.

Заранее спасибо за помощь

+0

Когда вы говорите: «Это класс Image» - вы имеете в виду, вы создали свой собственный класс Image? Если да, не делайте этого ... если нет, уточните пожалуйста. (Также укажите, какую версию .NET вы планируете. Похоже, это .NET Core, но какая версия?) –

+0

Извините. Я не создал этот класс. Прояснит, что – AllramEst

+3

Возможный дубликат [Конвертировать байты в изображение в C sharp net] (http://stackoverflow.com/questions/2623198/convert-bytes-to-image-in-c-sharp-net) –

ответ

0

я треснуть случай. Мое решение.

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

 Смежные вопросы

  • Нет связанных вопросов^_^