Ich habe eine Controller-Methode, die multipart/form-data
akzeptiert, die vom Client als POST-Anfrage gesendet wurde. Die Formulardaten bestehen aus 2 Teilen. Eines ist ein Objekt, das auf application/json
serialisiert ist, und das andere Teil ist eine Fotodatei, die als application/octet-stream
gesendet wird. Ich habe eine Methode auf meinem Controller:
Ich kann die Datei via Request.File
ohne Problem hier bekommen. Das PostItem ist jedoch null.
Nicht sicher warum? Irgendwelche Ideen
Steuerungscode:
%Vor%}
Die Client-Anfrage auf dem Draht sieht so aus:
%Vor% Wie sieht die Klasse FeedItem
aus? Für das, was ich in den Post-Infos sehe, sollte es ungefähr so aussehen:
Sonst wird es nicht gebunden. Sie könnten versuchen, die Aktionssignatur zu ändern und sehen, ob das funktioniert:
%Vor% Sie könnten sogar versuchen, einen HttpPostedFileBase
Parameter zu Ihrer Aktion hinzuzufügen:
Und wenn du dich wirklich wild und ungezogen fühlst, füge HttpPostedFileBase
zu FeedItem
:
Dieses letzte Code-Snippet ist wahrscheinlich das, womit Sie enden möchten, aber die Schritt-für-Schritt-Aufschlüsselung könnte Ihnen dabei helfen.
Diese Antwort könnte Ihnen auch in die richtige Richtung helfen: ASP.NET MVC übergeben Modell * zusammen * mit Dateien zurück zum Controller
Wie @Sergi sagt, fügen Sie den HttpPostedFileBase-Dateiparameter zu Ihrer Aktion hinzu und ich kenne MVC3 nicht, aber für 1 und 2 müssen Sie in der Form / Ansicht angeben, dass Sie mehrteilige / Formulardaten wie folgt posten:
%Vor%Und das ist in meinem Controller:
%Vor%Ich hoffe, es hilft!
Tags und Links asp.net-mvc multipartform-data