如何在Laravel中上传视频?

时间:2018-03-16 16:23:21

标签: laravel file file-upload

我正在尝试上传视频,并且我在数据库中正确存储了路径,但是我没有将视频放在我想要的文件夹中。

这是我的代码:

$postvideo     = Postmedia::where('post_id',$id)->where('type','video')->first();

        if (isset($postvideo)) 
        {

            if ($request->video_link) {
                $postvideo->path = $request->video_link;
                $postvideo->typevid = $request->link;
            }
            else
            {
                File::delete($postvideo->path);
                if($request->hasFile('video_link_local'))
                    {

                        $file               = $request->file('video_link_local');
                        $filename           = $file->getClientOriginalName();
                        $path               = 'uploads/post/';
                        $file->move($path, $filename);
                        $postvideo->path    = $path.$filename;
                        $postvideo->ext     = ($request->video_link_local)->getClientOriginalExtension();
                        $postvideo->typevid = $request->local;


                    }
            }
            $postvideo->save();
        }

上传现在可以正常工作但是在强调文件名的情况下,我在这一行中遇到问题,文件名被更改

$file->move($path, $filename);

像这样的例子:Présentation - > Présentation!!! 因此,当我想要显示上传的视频时,这会产生问题

1 个答案:

答案 0 :(得分:0)

检查https://laravel.com/docs/5.6/filesystem#file-uploads, 这里的文档解释了如何处理所有类型的文件。

基础示例是

$file = $request->file('video_link_local');
$filename = $file->getClientOriginalName();
$path = '/uploads/post/';
$upload_path = Storage::putFileAs($path, $file, $filename);
$postmedia->path = $upload_path;

然后,将文件送到您拥有的其他地方

// here you should already have fetched $postmedia

Storage::get($postmedia->path);