首页 > 解决方案 > 视频为空白但可以听到音频 - Laravel

问题描述

我可以使用以下代码成功上传我的视频。但是当我在视图页面中显示视频时,它是空白的。

public function store(Request $request)
    {       
        if(Auth::check())
        {       
            if(Input::hasFile('video'))
            {
                $file = $request->file('video');
                $videomimes = ['video/mp4'];

                if (in_array($file->getMimeType() ,$videomimes)) {
                    $filevalidate = 'required|mimes:mp4';
                }

                $this->validate($request, [
                    'video' => $filevalidate,                        
                ]);

                $filename = 'Tag '.$request->input('tag_no').'.'.$file->getClientOriginalExtension();
                $request->death_video->move(public_path('/storage/videos'), $filename);

                $stock = Stock::create([
                        'tag_no' => $request->input('tag_no'),
                        'video'=> $filename,                                                              
                        'user_id' => Auth::user()->id
                ]);               

                if($stock){
                    return redirect()->route('stocks.index')
                    ->with('success' , 'Stock created successfully');
                }
            }                                           
        }        
        return back()->withInput()->with('errors', 'Error creating new Stock');        
    }

这是我的架构:

Schema::create('stocks', function (Blueprint $table) {            

        $table->increments('tag_no');               
        $table->binary('video');                 

        $table->integer('user_id')->unsigned();
        $table->foreign('user_id')->references('id')->on('users');

        $table->timestamps();            
    });

这就是我显示视频的方式:

<video width="320" height="240" controls>
  <source src="/storage/videos/{{$stock->video}}" type="video/mp4">                   
   Your browser does not support the video tag.
</video>

我可以听到音频但没有显示视频!如何解决这个问题?

标签: laravel-5laravel-blade

解决方案


如果您将视频存储在公共目录中,请尝试使用 URL 助手

<source src="{{url('/storage/videos/'.$stock->video)}}" type="video/mp4">   

推荐阅读