How to upload file with retrofit 2
16 April 2019 on Android.
For uploading files to server with Retrofit 2
using octet-stream content type
Web Service
@POST
@Path("/uploadFile")
@Consumes(MediaType.APPLICATION_OCTET_STREAM)
public Response uploadFile(@Context HttpServletRequest request,InputStream fileInputStream) {
Android
@POST("uploadFile")
@Headers( {"Content-Type: application/octet-stream"})
Call<JsonObject> uploadFile(@Body RequestBody fileInputStream);
Usage
File file = new File(document.getPath());
byte[] byteArray = IOUtils.toByteArray(new FileInputStream(file));
RequestBody requestBody = RequestBody.create(MediaType.parse("application/octet-stream"), byteArray);
Response<JsonObject> answer = restClient.getService().uploadFile(requestBody).execute();
if (answer.isSuccessful()) {
}