Ich möchte die Upload-Datei auf den Server mit Retrofit umschreiben.Datei auf den Server hochladen mit Retrofit welcher Inhalt in JSON verpackt ist
Der Server api Anfrage für Körper
{“file_name”: “my_pic”, “content_base64”: “MKMD….”}
Vor dem Hochladen muß auch das Bild komprimieren und auch den Inhalt kodieren. Unsere aktuelle Implementierung ist:
Bitmap bmp = BitmapFactory.decodeFile(localPath);
ByteArrayOutputStream outputStream= new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 80, outputStream);
byte[] byteArrayImage = outputStream.toByteArray();
String encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);
JSONObject jObject = new JSONObject();
try {
jObject.put("file_name", "test.jpg");
jObject.put("content_base64", encodedImage);
String jObjectString = jObject.toString();
URL url = new URL(serverPath);
...
connection.setRequestMethod("PUT");
connection.setUseCaches(false);
OutputStreamWriter wr = new
OutputStreamWriter(connection.getOutputStream());
wr.write(jObjectString);
wr.close();
...
}
Ich möchte den obigen Code in Retrofit upload ändern. Nach dem Studium Retrofit Upload Example, die OkHttp RequestBody oder MultipartBody.Part Klassen verwendet. Aber ich habe keine Ahnung, wie ich den obigen Code konvertieren soll.
Irgendwelche Vorschläge?
Ihre Anfrage ist 'JSON' also multipart ist nicht erforderlich – R2R