Как отправить значение ключа в библиотеку addMultipartParts Ion Koush?

Я использую библиотеку Ion Koush в моем проекте Android, она работает нормально, но я не знаю, как указать запрос ключа при использовании addMultipartParts функция.

Мой код:

Ion.with(this)
   .load("POST", UPLOADIMAGESTG_URL)
   .setTimeout(5000)
   .setMultipartParameter("omni_id", String.valueOf(omniTesteGrade.getOmniProduct().get_id()))
   .addMultipartParts(files)
   .asJsonObject()
   .setCallback(new FutureCallback<JsonObject>() {


    @Override        
    public void onCompleted(Exception e, JsonObject result) {

                if (e != null) {
                    pDialog.setTitleText("Não foi possível enviar imagens, enviando dados do produto");
                    sendTgToServer(json);
                } else {
                    pDialog.setTitleText("Enviando dados do produto");
                    sendTgToServer(json);
                }
            }

   });

Он работает нормально на стороне сервера, потому что я выбираю все входы с laravel функция Input::All(), Но когда я хочу выбрать конкретный запрос, я использую этот код

   foreach($fileObjects as $fileObject) {
            if (is_file($fileObject)) {
                $imageList[] =$fileObject;
            } else {
                $id = $fileObject;
            }
   }

И это неправильно, еще один процесс для работы сервера, и я не хочу этого.

1 ответ

Из ваших вопросов не совсем понятно, что вы хотите загрузить один файл изображения на сервер или несколько файлов на сервер.

Таким образом, в принципе, есть очень простой способ достичь этой цели.

  1. Чтобы загрузить один файл:-

    Ion.with(this)  
    .load("POST", UPLOADIMAGESTG_URL)  
    .uploadProgressBar(uploadProgressBar)   
    .setTimeout(5000)   
    .setMultipartParameter("omni_id", String.valueOf(omniTesteGrade.getOmniProduct().get_id()))  
    .setMultipartFile("key to upload image", new File(files))  
    .asJsonObject()  
    .setCallback(new FutureCallback<JsonObject>() { 
    @Override        
    public void onCompleted(Exception e, JsonObject result) {  
    
                if (e != null) {
                    pDialog.setTitleText("Não foi possível enviar imagens, enviando dados do produto");
                    sendTgToServer(json);
                } else {
                    pDialog.setTitleText("Enviando dados do produto");
                    sendTgToServer(json);
                }
     });  
    
  2. Чтобы загрузить несколько файлов:-

ArrayList fileParts = new ArrayList<> ();

for (int i = 0; i < salonPhotos.size(); i++) {
   Part part = new FilePart("image_name[" + i + "]", image_value[i]);
   fileParts.add(part);
}


Ion.with(getContext())
   .load("POST", MY_POST_URL)
   .setMultipartParameter("my_text_key", "my_text_value")
   .setMultipartParameter("my_text_key_2", "my_text_value_2")
   .addMultipartParts(fileParts);

Попробуйте это, пусть это вам поможет.

Другие вопросы по тегам