MVC HttpPostedFileBase toujours null
J'ai ce contrôleur et ce que j'essaie de faire c'est d'envoyer une image sur le contrôleur [byte], c'est mon contrôleur:
[HttpPost]
public ActionResult AddEquipment(Product product, HttpPostedFileBase image)
{
if (image != null)
{
product.ImageMimeType = image.ContentType;
product.ImageData = new byte[image.ContentLength];
image.InputStream.Read(product.ImageData, 0, image.ContentLength);
}
_db.Products.Add(product);
_db.SaveChanges();
return View();
}
et sur mon point de vue:
@using (Html.BeginForm("AddEquipment", "Equipment", FormMethod.Post)) {
<fieldset>
<legend>Product</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<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.Category)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Category)
@Html.ValidationMessageFor(model => model.Category)
</div>
<div>
<div>IMAGE</div>
<input type="file" name="image" />
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
mais le problème est que sur mon contrôleur de la valeur de l'image est toujours nulle, je ne peux pas sembler obtenir des informations sur la HttpPostedFileBase
source d'informationauteur Riquelmy Melara
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter le
encType
avec multipart/form-data.Vous pouvez toujours l'ajouter à votre modèle, aussi, comme suit, à condition que ce soit un ViewModel:
Vous pouvez récupérer les fichiers en supprimant l'onu-des paramètres nécessaires c'est à dire
Essayer de le faire au sommet de la méthode d'Action:
Et la forme devrait avoir enctype "multipart/form-data" pour télécharger les fichiers: