Sto scrivendo una piccola applicazione con mvc4 e Entity Framework 5.Entity Framework 5 codice prima di aggiungere un'immagine
Voglio aggiungere un prodotto e negozio e l'immagine del prodotto.
Ho un modello
[Table("CatalogItem")]
public class CatalogItemModel
{
[Key]
public int CatalogItemId { get; set; }
public string Description { get; set; }
public double Price { get; set; }
public int ProductCount { get; set; }
public string Size { get; set; }
public string Sku { get; set; }
[Column(TypeName = "image")]
public byte[] Image { get; set; }
[Display(Name = "Display Catalog Item")]
public bool DisplayItem { get; set; }
}
mio controller. Questo non viene mai colpito.
[HttpPost]
public ActionResult Create(CatalogItemModel catalogitemmodel)
{
if (ModelState.IsValid)
{
db.CatalogItemModels.Add(catalogitemmodel);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(catalogitemmodel);
}
Le mie opinioni sono
<fieldset>
<legend>CatalogItemModel</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Description)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Description)
@Html.ValidationMessageFor(model => model.Description)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Price)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Price)
@Html.ValidationMessageFor(model => model.Price)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ProductCount)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ProductCount)
@Html.ValidationMessageFor(model => model.ProductCount)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Size)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Size)
@Html.ValidationMessageFor(model => model.Size)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Sku)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Sku)
@Html.ValidationMessageFor(model => model.Sku)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.DisplayItem)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.DisplayItem)
@Html.ValidationMessageFor(model => model.DisplayItem)
</div>
<div class="editor-label">
@Html.LabelFor(m=>m.Image)
</div>
<input name="Image" type="file"/>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
Quando provo la pubblicazione di un nuovo catalogo con un'immagine nel mio file di input tuttavia genera un errore
L'ingresso non è una valida Base- 64 stringa poiché contiene un carattere non base di 64, più di due caratteri di riempimento o un carattere non valido tra i caratteri di riempimento.
È possibile aggiungere il codice in cui si assegna l'immagine? –
@NickW ha appena aggiunto l'azione del controller. Ho aggiunto un punto di interruzione, ma non viene mai colpito –
Che dire di 'catalogitemmodel'? Come viene creato questo? Se il tuo punto di interruzione non viene colpito, il problema è precedente. –