RequestBody requestbody = RequestBody.create(MultipartBody.FORM, file);
Я бы предложил попробовать использовать, я использую то же самое для отправки изображений, и я отправляю несколько изображений в одном запросе, используя метод ниже
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder();
multipartBodyBuilder.setType(MultipartBody.FORM); //this may not be needed
multipartBodyBuilder.addFormDataPart("file", "Image_ref.jpg", RequestBody.create(MEDIA_TYPE, file) );
тот же запрос затем может быть использован для этого *Строка переменной 1005 *
try {
Response response = oKclient.newCall(request).execute();
line = response.body().string();
}catch
(Exception e ){
e.printStackTrace();
}
будет содержать тело ответа, в то время как объект ответа является фактическим ответом от выполнения, ниже приведен мой код, показывающий, как добавлять несколько файлов одновременно, именно так я и используюэто не очень элегантно, но выполняет свою работу
String order_data = "asdsd";
String images = getImages(id); //my funciton returns a json array Stringified
net.minidev.json.JSONArray fileArray = (net.minidev.json.JSONArray) net.minidev.json.JSONValue.parse(images);
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder();
multipartBodyBuilder. setType(MultipartBody.FORM);
multipartBodyBuilder.addFormDataPart("email", basicFunction.getUsername());
multipartBodyBuilder.addFormDataPart("password", basicFunction.getPassword());
multipartBodyBuilder.addFormDataPart("order_data",order_data);
int filer = 0; // adding a php based filter this can be the php array counter
MediaType MEDIA_TYPE = MediaType.parse("image/png" ); //
for (Iterator<Object> flavoursIter = fileArray.iterator(); flavoursIter.hasNext();){
net.minidev.json.JSONObject temp = (net.minidev.json.JSONObject) flavoursIter.next();
String path = (String)temp.get("path");
if(path.isEmpty() || path ==null ) continue;
path = path.substring(6);
// path = "fila://"+path;
File file = new File(path);
multipartBodyBuilder.addFormDataPart("file", "img.png", RequestBody.create(MEDIA_TYPE, file) );
// если появляется только один файл, вы можете использовать этот код
// multipartBodyBuilder.addFormDataPart ("file [" + filer ++ "] "," img.png ", RequestBody.create (MEDIA_TYPE, file));
}
MultipartBody multipartBody = multipartBodyBuilder.build();
Request request = new Request.Builder()
.url("Url_to_use")
.post(multipartBody)
.build();