4 Stimmen

Das Hochladen mehrerer Dateien - MVC..gibt es ein Gesamtdateigrößenlimit?

Ich habe ein Formular, aus dem Benutzer ein Immobilieninserat hinzufügen können. Neben den Daten, die der Benutzer eingeben muss, kann der Benutzer auch eine Reihe von Bildern hochladen. Ich verwende das HTML5 multiple-Attribut, um Benutzern das Hochladen von mehr als einer Datei auf einmal zu ermöglichen.

Aus irgendeinem Grund wird die HttpPost Add Methode, die ich habe, immer ausgelöst, wenn ich ein Bild hochlade. Wenn ich jedoch versuche, mehrere Bilder hochzuladen, wird die Methode nicht ausgelöst. Bisher erhalte ich keine Fehler, daher bin ich mir nicht sicher, was mit meiner Implementierung falsch ist.

HTML

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

        Immobilie

            Titel

            Beschreibung

        @* ... weitere Eingabefelder... *@

            Bilder

}

Controller

[HttpPost]
public ActionResult AddProperty(FormCollection form, IEnumerable file)
{
    Property p = new Property();
    p.Title = form["title"];
    p.Description = form["desc"];

    // ... Property-Felder setzen

    new PropertiesBL().AddProperty(p);

    for (int i = 0; i < file.Count(); i++)
    {
        // ... Schleife und hochgeladene Datei(en) speichern
    }
}

Über jede Hilfe würde ich mich freuen.

Änderung - Weitere Tests

Um den Datei-Upload zu testen, habe ich eine neue Ansicht erstellt mit nur einem Formular, das einen Datei-Upload enthält. Ich habe versucht, verschiedene Dateitypen hochzuladen. Was mir aufgefallen ist, ist, dass beim Hochladen zum Beispiel von 10 Dokumenten die Upload-Methode ausgeführt wurde. Aber beim Versuch, 3 (große) Bilder hochzuladen, wurde sie nicht ausgeführt. Ich denke, dass es eine Art Begrenzung in Bezug auf die Gesamtzahl der hochgeladenen Bytes gibt... Ich bin mir jedoch nicht sicher, ob das Sinn ergibt.

Einfacher Test

[HttpPost]
public ActionResult Upload(IEnumerable images)
{
    return RedirectToAction("Index");
}

Ich habe auch versucht, mehrere Dateien separat hochzuladen. Wenn ich versuche, 3 große Bilder (jedes Bild ca. 2 MB) hochzuladen, wurde die Methode nicht ausgeführt. Ich bin mir ziemlich sicher, dass dies ein Problem im Zusammenhang mit irgendeiner Art von maximaler Gesamtdateigröße ist.

2voto

Daniel Grima Punkte 2657

Das Problem lag an der maximalen Anzahl von Bytes, die hochgeladen werden können. Dies kann geändert werden, indem man maxRequestLength in der Datei web.config einstellt.

Referenz

Wie können große Dateien mit MVC 4 hochgeladen werden?

Code:

   ....

In der Antwort auf die verlinkte Frage werden folgende Einstellungen unter dem tag aufgelistet, jedoch konnte ich sie nur im tag hinzufügen:

    ....

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X