Retrofit Multipart File Upload#
@DebugLog
public BelgeResponse BelgeSync(BelgeRequest request, String apiVersion, String appVersion) {
try {
Map<String, RequestBody> map = new HashMap<>();
String belgeDirPath = SuperHelper.getInternalIztopBelgeDir(mContext, request.getGonderiNo());
File belgeDir = new File(belgeDirPath);
boolean isDir = belgeDir.isDirectory();
if (isDir) {
File[] files = belgeDir.listFiles();
for (File file : files) {
RequestBody requestBody = RequestBody.create(MediaType.parse("image/jpg"), file);
map.put("file\"; filename=\"" + file.getName(), requestBody);
}
}
//RequestBody requestBodyGonderiNo = RequestBody.create(MediaType.parse("text/plain"), request.getGonderiNo());
//RequestBody requestBodyMusId = RequestBody.create(MediaType.parse("text/plain"), String.valueOf(request.getMusId()));
RestClient restClient = RestClient.getInstance();
Call<BelgeResponse> responseCall = restClient.getApiService().Belge(
apiVersion,
appVersion,
request.getGonderiNo(),
String.valueOf(request.getMusId()),
map);
BelgeResponse resp = responseCall.execute().body();
return resp;
} catch (Exception ex) {
SuperHelper.CrashlyticsLog(ex);
return null;
}
}