Wie kann ich eine Datei mit zusätzlichen Daten in ASP.NET MVC hochladen? Das ist, was ich habe, so weit:Wie Sie Dateien mit zusätzlichen Daten in ASP.NET MVC hochladen
@using (Html.BeginForm("CreateSiteLogo", "SiteSettings", FormMethod.Post))
{
@Html.TextBoxFor(a=>a.SiteNameKey)
<input type="file" name="logo" id="logo" />
<input type="submit" />
}
Aktion:
[HttpPost]
public ActionResult CreateSiteLogo(SiteSettingsAPIModel siteSetting)
{
// Handle model
}
Modell:
public class SiteSettingsAPIModel
{
public int Id { get; set; }
public string SiteNameKey { get; set; }
public byte[] SiteLogo { get; set; }
public string ImageFormat { get; set; }
}
Ich kann nur den Wert des Eingangs [text] erhalten, aber nicht die Eingangs [Datei]. Ich habe versucht, Request.Files[0]
zu verwenden, aber ich bekomme immer Null.
anzeigen Code des Modells. – Mairaj
Haben Sie einen Haltepunkt auf Ihrem 'ActionResult' gesetzt, um zu sehen, ob die Datei durchkommt? – Izzy
Ein besserer Ansatz wäre es, der Dateieingabe einen Onchange-Listener hinzuzufügen, die Datei durch Ajax zu posten und den Dateinamen als den zu speichern, den er gespeichert hat. Dann könnten Sie den Dateinamen dem Modell –