几天后,我想出了解决方案
String uploadMultipleFiles(Api api, HashMap<String, ArrayList<File>> fileListMap) throws IOException { String responseS; OkHttpClient timeOut = getOkHttpClient(api.getTimeOut()); MultipartBody.Builder multipartBuilder = new MultipartBody.Builder() .setType(MultipartBody.FORM); int j = 0; ArrayList<File> fileList; for (Map.Entry<String, ArrayList<File>> entry : fileListMap.entrySet()) { String key = entry.getKey(); fileList = entry.getValue(); multipartBuilder.addFormDataPart("data[" + j + "].name", key); if (fileList != null) { for (int i = 0; i < fileList.size(); i++) { File fileListRequest = fileList.get(i); if (fileListRequest.exists()) { String ext = CommonUtils.getExtension(fileListRequest.getName()); final MediaType MEDIA_TYPE = ext.endsWith("png") ? MEDIA_TYPE_PNG : ext.endsWith("jpg") ? MEDIA_TYPE_JPG : MEDIA_TYPE_JPEG; multipartBuilder.addFormDataPart("data[" + j + "].files[" + i + "]", fileListRequest.getName(), RequestBody.create(MEDIA_TYPE, fileListRequest)); } } } j++; } RequestBody requestBody = multipartBuilder.build(); Request.Builder requestBuilder = new Request.Builder() .url(Objects.requireNonNull(api.getUrl())) .post(requestBody); buildHeaders(requestBuilder); Response response = timeOut.newCall(requestBuilder.build()).execute(); responseS = response.body().string(); Log.i(api.getName().name(), responseS); return responseS; }


