Я использую OKHTTP и использую Multipart для отправки изображения на сервер. Мой код выглядит следующим образом:Использование multipart with for loop
RequestBody requestBody = null;
for (int i = 0; i < noOfItems; i++) {
requestBody = new MultipartBuilder().type(MultipartBuilder.FORM)
.addFormDataPart("func", "savepacket")
.addFormDataPart("userid", String.valueOf(mLoginPref.getInt("userId", 1)))
.addFormDataPart("packname", strPackname)
.addFormDataPart("image", str + ".png", RequestBody.create(MediaType.parse("image/png"), imagePath))
.addFormDataPart("count", String.valueOf(noOfItems))
.addFormDataPart("item_name" + String.valueOf(i + 1), al.get(i).getStrItemName())
.addFormDataPart("tag_item" + String.valueOf(i + 1), al.get(i).getStrItemTag())
.addFormDataPart("note" + String.valueOf(i + 1), al.get(i).getStrComment())
.addFormDataPart("image" + String.valueOf(i + 1), al.get(i).getStrItemName() + ".png", RequestBody.create(MediaType.parse("image/png"), al.get(i).getStrItemImage()))
.build();
}
mstrQRResponse = HttpUtils.postRun("pack", requestBody);
Как Из кода (АЛ ArrayList) Вы можете видеть, что я должен послать несколько элементов с одним Packname, вот почему я использую для цикла.
Но на самом деле только последний элемент сохраняется на сервере из-за requestBody получает переопределения внутри цикла.
Как все предметы будут отправлены, добавив его для запроса?
Внутри для цикла, каждый раз, когда вы создаете объект 'requestBody', а после него вы вызываете' postRun() '. Вот почему последний элемент загружается на сервер. –
ya, thats ri8 .. Но как я могу его решить? –