Как передать несколько изображений с устройства android для загрузки на сервер? - PullRequest
0 голосов
/ 20 марта 2020

Я использую сетевую библиотеку 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?

...