Как отправить значение ключа в библиотеку 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 ответ
Из ваших вопросов не совсем понятно, что вы хотите загрузить один файл изображения на сервер или несколько файлов на сервер.
Таким образом, в принципе, есть очень простой способ достичь этой цели.
Чтобы загрузить один файл:-
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); } });
Чтобы загрузить несколько файлов:-
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);
Попробуйте это, пусть это вам поможет.