Retrofit - Multipart-Anforderung: Erforderlicher MultipartFile-Parameter 'file' ist nicht vorhanden

Ich versuche, mit Retrofit2 eine Datei auf dem Server zu senden. Ich mache alles laut Dokumentation, bekomme aber immer 400 Serverfehler.

Ich habe versucht, dies zu tun:

RequestBody body =
                RequestBody.create(MediaType.parse("image/png"), photo);
    //..........

    @Multipart
    @POST(ADD_PHOTO)
    Observable<HPSPhotoResponse>
    addPhoto(@Part("file") RequestBody file);

... und so:

MultipartBody.Part part = MultipartBody.Part.createFormData("file", "file", body);
     //...........

    @Multipart
    @POST(ADD_PHOTO)
    Observable<HPSPhotoResponse>
    addPhoto(@Part("file") MultipartBody.Part files);

spielt keine Rolle. Das Ergebnis ist immer dasselbe. "Multipart-Anforderung: Erforderlicher MultipartFile-Parameter 'Datei' ist nicht vorhanden" - Serverantwort.

Ich würde denken, dass Spring auf dem Server nicht gut funktioniert, aber ich mache den entsprechenden Code auf Swift (iOS) und es funktioniert! Hier sieht der Server diesen 'Datei'-Teil.

Alamofire.upload(method, endpoint, headers: headers,
            multipartFormData: { multipartFormData in
                multipartFormData.appendBodyPart(fileURL: self.filePath!, name: "file")
            }

Jetzt möchte ich, dass es auf Android mit Retrofit funktioniert. Aber ich schaue sogar in den Protokollen von Nachrüstungsanfragen nach und sehe in den Protokollen keinen 'Datei'-Text.

Was stimmt damit nicht

Antworten auf die Frage(4)

Ihre Antwort auf die Frage