POST Mehrteilige Formulardaten mit Retrofit 2.0 inklusive Bild

Ich versuche, einen HTTP-POST an den Server mit @ durchzuführeRetrofit 2.0

        MediaType MEDIA_TYPE_TEXT = MediaType.parse("text/plain");
        MediaType MEDIA_TYPE_IMAGE = MediaType.parse("image/*");

        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        imageBitmap.compress(Bitmap.CompressFormat.JPEG, 90, byteArrayOutputStream);
        profilePictureByte = byteArrayOutputStream.toByteArray();

    Call<APIResults> call = ServiceAPI.updateProfile(
                RequestBody.create(MEDIA_TYPE_TEXT, emailString),
                RequestBody.create(MEDIA_TYPE_IMAGE, profilePictureByte));

    call.enqueue();

Der Server gibt einen Fehler zurück, der besagt, dass die Datei ungültig ist.

Das ist seltsam, weil ich versucht habe, dieselbe Datei mit demselben Format unter iOS (mithilfe einer anderen Bibliothek) hochzuladen, sie jedoch erfolgreich hochgeladen wurde.

Ich frage mich, wie ein Bild mit @ richtig hochgeladen werden kanRetrofit 2.0?

Muss ich es zuerst auf der Festplatte speichern, bevor ich es hochlade?

Vielen Dank

P.S .: Ich habe die Nachrüstung für andere Multipart-Anforderungen verwendet, die kein Bild enthalten, und sie wurden erfolgreich abgeschlossen. Das Problem ist, wenn ich versuche, dem Body ein Byte hinzuzufügen.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage