Ich versuche, einfach einen Benutzer eine Datei hochladen zu ermöglichen.MVC5-Controller nicht Datei von HTML-Dateieingabe
Ich habe eine einfache Form beginnen, die eine Datei-Element enthält, wie unten dargestellt:
@using (Html.BeginForm("LoadData", "Input", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div style="width:23%; display:inline-block;">
<label>Select Type:</label>
<select name="UploadType">
<option value="First">First</option>
<option value="Second">Second</option>
</select>
</div>
<div style="width:43%; display:inline-block;">
<input type="file" name="files1" id="files1" />
</div>
<div style="width:33%; display:inline-block;">
<input type="submit" value="Upload"/>
</div>
}
Der Controller ist:
[HttpPost]
public ActionResult LoadData(string UploadType, HttpPostedFileBase file1)
{
if(file1 != null && UploadType != null)
{
Console.WriteLine(file1.FileName);
Console.WriteLine(UploadType);
}
}
Alles Displays und arbeitet auf der Website, aber wenn es die Pfosten zurück Datei ist null. Ich habe einschließlich bei vielen Google-Ergebnissen sieht:
Binding HttpPostedFileBase using Ajax.BeginForm
http://www.aurigma.com/upload-suite/developers/aspnet-mvc/how-to-upload-files-in-aspnet-mvc
und vieles mehr. Sie sagen alle, dass meine Sachen korrekt sind. Solange die Namen auf der Dateieingabe und dem Controller-Parameter übereinstimmen, sollte es funktionieren. Aber es ist nicht.
Ich habe versucht, es zu benennen Datei, Dateien und jetzt file1 aber kein mater, wie ich es nenne, kommt es wieder Null.
Was mache ich falsch? Ich habe sogar versucht, die Request.Files zu überprüfen, aber das heißt, es hat eine Zählung von 0.
Ich sehe nicht, wie dies abgelehnt wird. Das Problem wurde nie gelöst, nur herum gearbeitet. Daher ist ein Downvote ohne Grund unnötig, besonders wenn die einzige Antwort nicht funktioniert. Wenn Sie eine Antwort haben, würde ich es gerne hören. –