Schnittstelle:Bild hochladen mit Retrofit 2
@Multipart
@POST("emp/passportupload")
Single<ApiResponse> uploadPassportImage(@Query("passportnumber") String passportNumber, @Part MultipartBody.Part file);
Aufruf api:
File file = new File(model.getImage().getPath());
if (!file.exists()) return null;
RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file);
MultipartBody.Part filePart = MultipartBody.Part.createFormData(ApiConstant.PICTURE_UPLOAD_PARAM, file.getName(), requestBody);
dataService.uploadPassportImage(map, filePart)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread());
ich diese Methode bin mit Bild auf den Server hochgeladen werden aber Server nicht überprüfen kann, wie ein Bild, daher gibt mir eine Antwort wie
"Bereitgestellte Datei ist nicht eine gültige P Bild. Bitte geben Sie eine PNG/JPG-Datei“
Aber, ich habe die gleiche Bilddatei durch Postbote hochgeladen und es war erfolgreich Hier ist die Anfrage. (NB: Personalausweis-ist ein params, keine Formulardaten)
In meinem Fall ist der Unterschied Benutzer-ID ist kein aus-Daten, ist es ein params ist. Ich habe diese Lösung versucht und eine Fehlerantwort erhalten, da der Server den Parameterwert nicht finden konnte. – CodeCameo