Загруженный файл не сохраняется в базе данных - PullRequest
0 голосов
/ 09 ноября 2018

Я создал форму, в которую можно загружать видеофайлы, но я заметил, что при загрузке видео загрузка видео занимает некоторое время, в зависимости от размера файла, поэтому, чтобы люди долго не смотрели на экран в ожидании их видео для загрузки, я отправлю их на страницу с надписью «Ваше видео обрабатывается и будет доступно, когда оно будет готово». Видео действительно сохраняется в общедоступной папке приложения, а также сохраняется в моей папке 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...