MVC-Upload-Datei BeginForm HTTPPOST - c #, asp.net-mvc, Rasierer, Datei-io

Ich versuche eine CSV-Datei auf meinen Controller hochzuladen, um die Daten zu verarbeiten.

Dies ist in meiner MVC-Rasiermesseransicht:

@using (Html.BeginForm("AddManyDevices", "Home", FormMethod.Post, new {@enctype = "multipart/form-data" }))
{
<input id="FileUpload" name="FileUpload" type="file" />
<input id="subButton" type="submit" value="FileUpload" class="btn btn-success" title="Upload File" />
}

Das ist meine Methode HomeController, eine Methode, um die Ansicht zurückzugeben, und eine, um HTTP POST zu verarbeiten

[Authorize]
public ActionResult AddManyDevices()
{
return View();
}

[HttpPost]
public void AddManyDevices(HttpPostedFileBase FileUpload)
{
StreamReader csvreader = new StreamReader(FileUpload.InputStream);

while (!csvreader.EndOfStream)
{
var line = csvreader.ReadLine();
var values = line.Split(";");
}
}

Allerdings, wenn ich eine Datei hochladen den HTTP-POST AddManyDevices heißt nicht, was mache ich falsch?

Antworten:

1 für die Antwort № 1

Bitte entfernen Sie das @ -Symbol von der @enctype = "multipart/form-data"

und benutze wie unten

@using (Html.BeginForm("AddManyDevices", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))

Speisekarte