ASP.NET MVC. So erstellen Sie eine Aktionsmethode, die Multipart- / Formulardaten akzeptiert und akzeptiert

8

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:

%Vor%

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%     
openbytes 18.03.2011, 21:25
quelle

2 Antworten

6

Wie sieht die Klasse FeedItem aus? Für das, was ich in den Post-Infos sehe, sollte es ungefähr so ​​aussehen:

%Vor%

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:

%Vor%

Und wenn du dich wirklich wild und ungezogen fühlst, füge HttpPostedFileBase zu FeedItem :

hinzu %Vor%

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

    
Sergi Papaseit 19.03.2011, 10:42
quelle
1

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!

    
VinnyG 19.03.2011 15:42
quelle