I want download image but url image is not direct and should send additional data like that :
url : http://example.com/download
data :
{
"phoneNumber":"9199191",
"token":"1KAwqCxCdQUjTvTK9EtT7N",
"fileName":"632_macbook_pro.jpg"
}
and server callback data image In the form of base64
i use this codes but server return 500 code :
restservice :
@POST("download")
Call<ResponseBody> getImage(
@Body JsonObject data,
@HeaderMap Map<String, String> headers
);
Java code:
JsonObject params = new JsonObject();
params.addProperty("phoneNumber",settingMain.getPhoneNum());
params.addProperty("token",settingMain.getSecureLogin());
params.addProperty("fileName",fileName);
Call<ResponseBody> myCall = restService.getImage(params, UrlController.AddHeadersDownload(fileName));
myCall.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> responseObj) {
try {
Log.e("DownloadCode",responseObj.code()+"");
if (responseObj.isSuccessful() && responseObj.code()==200) {
} catch (JSONException e) {
e.printStackTrace();
Log.e("JSONException",e.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
});