Я пытаюсь загрузить видео с Android на сервер и мою базу данных с помощью Xampp, однако, когда я пытаюсь загрузить, ни видео не загружается, либо я получаю сообщение об ошибке. Даже URL-адрес видео загружается.Я использую дооснащение для загрузки.
if (!videoPath.isEmpty()) {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constants.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
File file = new File(videoPath);
RequestBody requestBody = RequestBody.create(MediaType.parse("video/*"), file);
MultipartBody.Part video = MultipartBody.Part.createFormData("vid", file.getName(), requestBody);
RequestBody requestEmail = RequestBody.create(MediaType.parse("text/plain"), userEmail);
MultipartBody.Part email = MultipartBody.Part.createFormData("email", userEmail, requestEmail);
String todayDate = postFormatDate(new Date());
RequestBody requestDate = RequestBody.create(MediaType.parse("text/plain"), todayDate);
MultipartBody.Part date = MultipartBody.Part.createFormData("today_date", todayDate, requestDate);
RetrofitApi service = retrofit.create(RetrofitApi.class);
Call<ResponseBody> call = service.uploadVideo(video, email, date);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
t.printStackTrace();
Toast.makeText(PostActivity.this, getString(R.string.server_error), Toast.LENGTH_SHORT).show();
}
});
}
Мой интерфейс дооснащения:
@Multipart
@POST("post_video.php")
Call<ResponseBody> uploadVideo(@Part MultipartBody.Part video, @Part MultipartBody.Part email, @Part MultipartBody.Part today_date);
и мой php-код:
if (isset($_FILES['vid']['name'])) {
$path = 'Images/';
$server_ip = gethostbyname(gethostname());
$url = 'http://' . $server_ip .'/folder/' . $path;
$con3 = new mysqli($host,$username,$password,$database);
$extension3 = pathinfo($_FILES['vid']['name'],PATHINFO_EXTENSION);
$file_url = $url . getFileName() . '.' . $extension3;
$file_path = $path . getFileName() . '.' . $extension3;
try {
move_uploaded_file($_FILES['vid']['tmp_name'], $file_path);
$date = $_FILES['today_date']['name'];
$sql3 ="INSERT INTO posts_media_files (url, post_id,date) VALUES ('$file_url','$id_bind','$date');";
$stm3 = $con3->prepare($sql3);
$stm3->execute();
}
}
Мой размер файла для загрузки в xampp составляет 200 МБ.(Я увеличил это).Пожалуйста, помогите мне, я действительно застрял!