Я использую сетевую библиотеку OKHTTP для моего android проекта. Прежде всего, чтобы загрузить несколько изображений, я сохранил все файлы в массив-списке с именем ArrayList фотографии, тип которых - «Файл». Поэтому, когда я нажимаю кнопку «Отправить» для загрузки изображений, запускается следующий код:
private void callApiToAddHomeWork() {
if(!CommonUtil.isInternetAvailable(AddHomeWorkActivity.this)){
return;
}
if(photos!=null){
new OkHttpRequest(AddHomeWorkActivity.this,
OkHttpRequest.Method.POST,
Constants.WS_ADD_HOMEWORK,
RequestParam.addHomework(""+CommonUtil.getSharedPrefrencesInstance(AddHomeWorkActivity.this).getString(KEY_EMPLOYEE_BRANCH_ID,""),
""+mStrSelectedBatchId,
""+CommonUtil.getSharedPrefrencesInstance(AddHomeWorkActivity.this).getString(KEY_LOGGEDIN_EMPLOYEE_ID,""),
""+mEdthwtitle.getText().toString().trim(),
""+mEdthwdescription.getText().to String().trim(),
""+mStrByDefaultStudentsIds,
"0"),
RequestParam.getNull(),
RequestParam.homeworkpdforimage(photos),
CODE_ADD_HOMEWORK,
true,this);
}else{
Toast.makeText(this, "File is not passed yet", Toast.LENGTH_SHORT).show();
}
}
И для параметра «Параметр запроса» homeworkpdforimage отображается следующим образом:
public static Map<String,File> homeworkpdforimage(ArrayList<File> files){
Map<String,File> requestBody = new HashMap<>();
for(int i = 0 ; i < files.size() ; i++){
Log.e("homework",""+files.get(i));
requestBody.put("files["+i+"]",files.get(i));
}
return requestBody;
}
значение ключа от back Конечная сторона: файлы [], что означает, что в конечных изображениях будут храниться в массиве.
Но в OkHttpSuccess я всегда получал нулевой ответ, хотя на задней стороне будут сохраняться все типы изображений. Например: jpg, png, et c.
Так что же не так в моем дело ? или как загрузить несколько изображений с помощью сетевой библиотеки OKhttp?