Загрузить файл с помощью Retrofit 2
Я пытался сделать это несколько дней, и я действительно все сделал .. Вот как выглядит запрос в Почтальоне:
Я уверен, что все параметры GET были записаны правильно. Проблема в том, как я отправляю файл для загрузки, я полагаю.
Map<String, RequestBody> map = new HashMap<>();
File file = new File("/storage/emulated/0/ConstructSecure/d1940b05-76d1-4d98-b4b4-b04b8247c8cb.png");
RequestBody requestBody = RequestBody.create(MediaType.parse("image/png"), file);
String fileName = file.getName();
map.put("attachment\"; filename=\"" + fileName + "\"", requestBody);
//GET parameters
Map<String, String> params = new HashMap<String, String>();
params.put("inspectionUUID", inspectionUUID);
params.put("noteUUID", noteUUID);
params.put("attachmentUUID", attachmentUUID);
params.put("noteType", noteType);
params.put("modifiedTime", modifiedTime);
Call<ResponseBody> call = service.upload(access_token,params,map);
call.enqueue()....
Интерфейс:
@Multipart
@POST("api/MediaFiles/AddMediaFile")
Call<ResponseBody> upload(
@Header("Authorization") String authorization,
/* GET params */ @QueryMap Map<String, String> params,
@PartMap Map<String, RequestBody> map
);
Кто-нибудь может мне помочь?