Я создал форму, в которую можно загружать видеофайлы, но я заметил, что при загрузке видео загрузка видео занимает некоторое время, в зависимости от размера файла, поэтому, чтобы люди долго не смотрели на экран в ожидании их видео для загрузки, я отправлю их на страницу с надписью «Ваше видео обрабатывается и будет доступно, когда оно будет готово». Видео действительно сохраняется в общедоступной папке приложения, а также сохраняется в моей папке AWS3, как я и просил, но я заметил, что это не сохранение файла в базе данных, и я не знаю, почему он проходит мимо базы данных. Я использую laravel, ffmpeg для конвертирования и сжатия видео и ajax. Может кто-то помочь мне с этим. вот мой код ниже
//this the fileupload.blade.php
<div class="container">
<div class="card">
<div class="card-body">
<form method="POST" action="{{ route('fileUploadPost') }}" enctype="multipart/form-data">
@csrf
<div class="form-group">
<input name="file" id="poster" type="file" class="form-control">
<input type="submit" value="Submit" class="btn btn-success">
</div>
</form>
</div>
</div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script type="text/javascript">
function validate(formData, jqForm, options) {
var form = jqForm[0];
if (!form.file.value) {
alert('File not found');
return false;
}
}
(function() {
$('form').ajaxForm({
uploadProgress: function(event, position, total, percentComplete) {
window.location.href = "complete";
},
success: function() {
},
complete: function(xhr) {
}
});
})();
</script>
//this is the controller
$request->validate([
'file' => 'required',
]);
$viddy=new Video;
$file = $request->file('file');
$fileName =uniqid().$file->getClientOriginalName();
$request->file->move(public_path('/app'), $fileName);
$name_file=uniqid().'video.mp4';
$ffp=FFMpeg::fromDisk('local')
->open($fileName)
->addFilter(function ($filters) {
$filters->resize(new \FFMpeg\Coordinate\Dimension(640, 480));
})
->export()
->toDisk('s3')
->inFormat(new \FFMpeg\Format\Video\X264('libmp3lame'))
->save($name_file);
$imageName = Storage::disk('s3')->url($name_file);
$viddy->title=$imageName;
$viddy->save();
return response()->json(['success'=>'You have successfully upload file.']);
}
![enter image description here](https://i.stack.imgur.com/ZC7gK.png)