ASP.NET Core, MVC, Obtenir le fichier de base de données, et le rendu de l'image

J'ai des données d'image stockées dans une table SQL avec un champ de type de varbinary(max) j'ai également stocker le contenu d'une image de type.

À l'aide de Microsoft ASP.NET Core, MVC et Pimpant, je suis en train d'essayer d'obtenir le fichier de la base de données et de les rendre comme une image.

C'est mon FileModel:

using System;

namespace Brand.Models
{
    public class FileModel
    {
        public Guid ID { get; set; }
        public string FileName { get; set; }
        public string FileType { get; set; }
        public byte[] FileData { get; set; }
        public int FileLength { get; set; }
        public long Version { get; set; }
        public string FileSource { get; set; }
        public DateTime Created { get; set; }

        public FileModel() 
        {
            FileLength = 0;
            Version = 1;
            Created = DateTime.Now;
        }
    }
}

Ce sont mes fonctions:

public FileStreamResult GetFile(string FileID)
{
    return GetFile(new Guid(FileID));
}

public FileStreamResult GetFile(Guid FileID)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        DynamicParameters dynamicParameters = new DynamicParameters();
        dynamicParameters.Add(@"ID", FileID);
        FileModel result = connection.Query<FileModel>("GetFile", dynamicParameters, commandType: CommandType.StoredProcedure).FirstOrDefault();
        Stream stream = new MemoryStream(result.FileData);
        return new FileStreamResult(stream, result.FileType);
    }
}

J'appelle cela avec ce genre de syntaxe:

<img src="@fileExtensions.GetFile(content.FileID)" />

Je reçois une réponse 404 quand j'ai essayer ça, donc évidemment quelque chose de mal avec la façon dont je suis la mise en œuvre de cette.

OriginalL'auteur eat-sleep-code | 2016-06-21