上载的文件未保存到数据库

时间:2018-11-09 18:49:03

标签: laravel

我创建了一个可以上传视频文件的表格,但是我注意到,在上传视频时,视频需要花费一些时间来上传,具体取决于文件的大小,因此避免了人们长时间盯着屏幕等待他们要上传的视频,我会将其发送到一个页面,上面写着“您的视频正在处理中,准备就绪后即可使用。”该视频确实已保存到公共应用程序文件夹中,并且也按我的要求保存到了我的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

0 个答案:

没有答案