Я хочу загрузить изображение, но URL-адрес не является прямым и должен отправлять дополнительные данные, например:
url : http://example.com/download
данные:
{
"phoneNumber":"9199191",
"token":"1KAwqCxCdQUjTvTK9EtT7N",
"fileName":"632_macbook_pro.jpg"
}
и изображение данных обратного вызова сервера в виде base64
Я использую эти коды, но сервер возвращает код 500:
отдых:
@POST("download")
Call<ResponseBody> getImage(
@Body JsonObject data,
@HeaderMap Map<String, String> headers
);
Java-код:
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();
}
}
});