Я отправляю массив изображений на сервер с Android.Когда я пытаюсь загрузить каждый из них в свою базу данных, загружается только последнее изображение.Я хочу, чтобы каждое из изображений было загружено в таблицу базы данных в виде отдельной строки.Может кто-нибудь понять, где проблема для меня.Спасибо всем.
вот мой скрипт php:
$total = count($_FILES['images']['name']);
for( $i=0 ; $i <= $total ; $i++ ) {
$tmpFilePath = $_FILES['images']['tmp_name'];
$extension = pathinfo($_FILES['images']['name'],PATHINFO_EXTENSION);
$file_url = $url . getFileName() . '.' . $extension;
$file_path = $path . getFileName() . '.' . $extension;
if ($tmpFilePath != ""){
if(move_uploaded_file($tmpFilePath, $file_path)) {
$sql = "INSERT INTO posts_media_files (url, post_id) VALUES ('$file_url','$id_bind');";
$stm = $con1->prepare($sql);
$stm->execute();
}
}
}
вот мой код Android:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constants.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(new OkHttpClient())
.build();
MultipartBody.Part[] imageArray = new MultipartBody.Part[imagePaths.size()];
for (int i = 0; i < imagePaths.size(); i++) {
File file = new File(imagePaths.get(i));
RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file);
imageArray[i] = MultipartBody.Part.createFormData("images", file.getName(), requestBody);
}
RequestBody requestEmail = RequestBody.create(MediaType.parse("text/plain"), userEmail);
MultipartBody.Part email = MultipartBody.Part.createFormData("email", userEmail, requestEmail);
RetrofitApi service = retrofit.create(RetrofitApi.class);
Call<ResponseBody> call = service.uploadFileMultilPart(imageArray, email);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Toast.makeText(PostActivity.this, t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
и вот мой модифицированный интерфейс:
@Multipart
@POST("post_image.php")
Call<ResponseBody> uploadFileMultilPart(@Part MultipartBody.Part[] images, @Part MultipartBody.Part email);