2016-03-31 4 views
1

Ich habe ein Formular mit Dateieingabe, aber wenn das Modell nicht validiert wird oder einen Fehler auslöst, habe ich Informationen über den Anhang verloren und der Benutzer muss die Datei erneut hochladen. Andere Eingaben sind in Ordnung, aber Dateien funktionieren nicht.Bei der Formularaktualisierung gehen mehrteilige/Formulardaten verloren

Ansicht

@using (Html.BeginForm("Create", "Person", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ 
    @Html.LabelFor(m => m.AttachmentFile) 
    @Html.TextBoxFor(m => m.AttachmentFile, new { type = "file" }) 
    @Html.ValidationMessageFor(m => m.AttachmentFile) 

    <input type="submit" value="Submit" /> 
} 

-Controller

[HttpPost] 
public ActionResult Create(CreateVM model) 
{ 
         try 
         { 
          if (ModelState.IsValid) 
          { 
           // adding to db 
          } 
         } 
         catch (Exception ex) 
         { 
          ModelState.AddModelError(String.Empty, String.Format("Error : {0}", ex.Message)); 
         } 

    return View(model); 
} 

Antwort

1

Browser beim auf einem Dateieingabefeld entweder mit einem Wert Attribute oder über JavaScript Wert angeben.

Diese Sicherheitsmaßnahme verhindert, dass bösartiger Code einen Wert (Pfad) festlegt und auf eine lokale Datei zugreift.

+1

Oh, danke, ich fing gerade an, ein Javascript zu schreiben :-)) – Muflix

Verwandte Themen