Wie laden/anzeigen von Bildern verwenden ASP.net MVC4-mit Entity Framework

Habe ich ein Daten-Modell wie so

    public class NewsItem
{
    public virtual int Id { get; set; }
    public virtual string NewsTitle { get; set; }
    public virtual string NewsContent { get; set; }
    public virtual byte[] NewsImage { get; set; }
    public virtual DateTime DateAdded { get; set; }
    public virtual bool IsLive { get; set; }
}

Ich dann die Anzeige dieser Daten über eine Sicht wie folgt:

@model BusinessObject.Domain.NewsItem
<div class="row-fluid">
    <h3>
        @Html.ValueFor(model => model.NewsTitle)
    </h3>
    <div class="span5">
    <img src="~/Content/images/stock.jpg" />
    </div>

<div class="span7">
<p>
    @Html.ValueFor(model => model.DateAdded)
</p>
<p>
    @Html.ValueFor(model => model.NewsContent)
</p>
</div>
 </div>

Ich habe dann speichern Sie die Daten mit Hilfe der _db.SaveChanges() in meinem controller etwa so:

[Authorize]
    [HttpPost]
    public ActionResult Create(CreateNewsViewModel input)
    {
        if (ModelState.IsValid)
        {
            var news = new NewsItem();
            news.NewsTitle = input.nTitle;
            news.NewsContent = input.nContent;
            news.DateAdded = input.nDateAdded;
            news.IsLive = input.nIsLive;
            Mydb data = new Mydb();
            data.NewsItems.Add(news);
            data.SaveChanges();
            return View("Index", data.NewsItems);

        }
        else
        {
            return View(input);
        }
    }

Derzeit habe ich nicht ein Bild hochladen bit. Wie würde ich das angehen? In meiner db habe ich ein binäres Feld, und meine Daten geben, die in meinem Objekt ein byte[]. Aber ich weiß nicht wohin ich muss um das Bild Hochzuladen?

Brauche ich eine separate Aktion, gibt den Blick? Einige Hinweise auf das wäre großartig.

Cheers

InformationsquelleAutor Andrew Berry | 2013-03-27

Schreibe einen Kommentar