Php 从Laravel存储器中检索视频

Php 从Laravel存储器中检索视频,php,laravel,laravel-5,storage,Php,Laravel,Laravel 5,Storage,目前,我正在通过create()函数中的以下代码将视频发送到Laravel中的存储文件夹: if ($request->hasFile('video_url')) { $video = $request->file('video_url'); $folder = make_url($validated['title']); $video_name = time().'-vid.'. $video->getClientOriginalExtension()

目前,我正在通过
create()
函数中的以下代码将视频发送到Laravel中的存储文件夹:

if ($request->hasFile('video_url')) {
    $video = $request->file('video_url');
    $folder = make_url($validated['title']);
    $video_name = time().'-vid.'. $video->getClientOriginalExtension();

    Storage::disk('local')->put('/uploads/' . $folder . '/', $video);

    $validated['video_url'] = $folder . '/' . $video->hashName();
}
它创建视频,将其发送到适当的文件夹,并将视频的URL发送到数据库,以便我始终能够检索正确的链接。这一切都很好

但我不知道如何从存储器中检索视频进行播放

我尝试在视频标签中手动检索链接,但是,当然,存储文件夹不是公共的,所以这不起作用

{{$vid = Storage::disk('local')->get('/uploads/' . $e_course_chapter->video_url)}}

{{ var_dump($vid) }}

<video controls>

    <source src="{{  Storage::disk('local')->get('/uploads/' . $e_course_chapter->video_url) }}" type="video/mp4">
    Your browser does not support the video tag.

</video>

您可以创建一条路线,从中获取视频并在视图中使用该路线

在控制器中:

function getVideo() {
    $video = Storage::disk('local')->get("uploadpath_here");
    $response = Response::make($video, 200);
    $response->header('Content-Type', 'video/mp4');
    return $response;
}

use <source src="{{ route('/get-video') }} ... >
Route::get('/get-video', Controller@getVideo);
视图中:

function getVideo() {
    $video = Storage::disk('local')->get("uploadpath_here");
    $response = Response::make($video, 200);
    $response->header('Content-Type', 'video/mp4');
    return $response;
}

use <source src="{{ route('/get-video') }} ... >
Route::get('/get-video', Controller@getVideo);

这反过来将调用控制器功能。

公共磁盘用于可公开访问的文件。默认情况下,公共磁盘使用本地驱动程序并将这些文件存储在storage/app/public中。要从web访问它们,您应该创建一个从public/storage到storage/app/public的符号链接

要创建符号链接,可以使用存储:链接Artisan命令:

php artisan storage:link

非常感谢。实际上,我以类似的方式尝试了这个方法,但显然我忘了在控制器中使用响应。它现在可以工作了。非常有用,谢谢~:)我需要我的视频不能公开,这就是为什么我要采用这种方法。