Bedauerlicherweise, es beschwert sich immer noch mit dem gleichen Fehler.
Ich weiß nicht, ob es Ihr Problem verursacht, aber der Screenshot zeigt, dass Sie das nicht benannt haben Teil. Entsprechend deinem handleFileUpload() Methode, müssen Sie die geben Teil ein Name/Schlüsselwert von file. Ohne ein Teil name, es hat wahrscheinlich nichts an den Server gesendet, und “nothing” = “not multipart”.
–Andreas
2. Februar 2017 um 22:23 Uhr
Nein, Sie sollten kein Verzeichnis erstellen müssen.
Wenn Sie Postman für mehrteilige Anforderungen verwenden, geben Sie keinen benutzerdefinierten Inhaltstyp im Header an. Ihre Kopfzeile in Postman sollte also leer sein. Postman bestimmt die Formulardatengrenze. Auf der Registerkarte Body von Postman sollten Sie Formulardaten und den Dateityp auswählen. Eine entsprechende Diskussion finden Sie unter https://github.com/postmanlabs/postman-app-support/issues/576
Ich habe dich nicht verstanden. Können Sie ein Bild der richtigen Anfrage im Postboten senden?
– Sal-laS
3. Februar 2017 um 12:09 Uhr
Überprüfen Sie die Registerkarte Header direkt vor der Registerkarte Body in Postman. Ihre Anfrage ist korrekt, aber es gibt einen Eintrag in Headers, da das von Ihnen geteilte Bild Headers(1) zeigt. Eintrag dort entfernen.
– abaghel
3. Februar 2017 um 12:12 Uhr
Es sieht so aus, als ob das Problem darin besteht, dass die Anfrage an den Server keine mehrteilige Anfrage ist. Grundsätzlich müssen Sie Ihr clientseitiges Formular ändern. Zum Beispiel:
Es ist eine Restanwendung, derzeit gibt es kein HTML für die Clientseite. Ich benutze Postbote
– Sal-laS
2. Februar 2017 um 22:11 Uhr
@SalmanLashkarara, Sie können es immer noch in den Kopfzeilen Ihres Rest-Clients hinzufügen.
– Sandeep Kumar
15. Dezember 2019 um 9:10 Uhr
Niles Kumar
Ich stand auch vor dem gleichen Problem mit Postman für multipart. Ich habe es behoben, indem ich die folgenden Schritte ausführte:
Nicht auswählen Content-Type im Headers Abschnitt.
In Body Registerkarte von Postman solltest du auswählen form-data und auswählen file type.
Es hat für mich funktioniert.
Das ist mir einmal passiert: Ich hatte eine einwandfrei funktionierende Postman-Konfiguration, aber dann, ohne etwas zu ändern, obwohl ich das nicht mitgeteilt habe Content-Type manuell auf Postman funktionierte es nicht mehr; Nach den Antworten auf diese Frage habe ich versucht, den Header zu deaktivieren und ihn von Postman automatisch hinzufügen zu lassen, aber keine der Optionen hat funktioniert.
Am Ende löste ich es, indem ich zu ging Body ändern Sie den Parametertyp von File Zu Textdann zurück zu File und dann erneutes Auswählen der zu sendenden Datei; irgendwie hat es damit wieder funktioniert. Riecht wie ein Postman-Bug, in diesem speziellen Fall vielleicht?
Fügen Sie in application.properties Folgendes hinzu:
Ich weiß nicht, ob es Ihr Problem verursacht, aber der Screenshot zeigt, dass Sie das nicht benannt haben Teil. Entsprechend deinem
handleFileUpload()
Methode, müssen Sie die geben Teil ein Name/Schlüsselwert vonfile
. Ohne ein Teil name, es hat wahrscheinlich nichts an den Server gesendet, und “nothing” = “not multipart”.–Andreas
2. Februar 2017 um 22:23 Uhr
Nein, Sie sollten kein Verzeichnis erstellen müssen.
–Andreas
2. Februar 2017 um 22:27 Uhr
Unabhängig: Da hast du Klasse mit annotiert
@RestController
müssen Sie die Methode nicht mit annotieren@ResponseBody
. Siehe javadoc: docs.spring.io/spring/docs/current/javadoc-api/org/…–Andreas
2. Februar 2017 um 22:29 Uhr