阻止 Laravel 中未付费用户访问视频

问题描述 投票:0回答:1

我想阻止那些不付费的人访问视频播放列表,并将其仅显示给经过身份验证的付费用户。我不知道如何在不公开的情况下访问私人存储中的视频,我尝试了一些代码,但它不起作用。这是我的代码:

存储文件夹

路线:

Route::get('storage/uploads/videos/{video}', [PrivateController::class, 'get'])->name("getVideo");

控制器:

class PrivateController extends Controller
{
    public function get($video) {

        $video = Storage::disk('private')->get("/videos/". $video);
        $response = Response::make($video, 200);
        $response->header('Content-Type', 'video/mp4');
        
        return $response;

    }
}

当我转储并死掉这一行时,我得到空值:

$video = Storage::disk('private')->get("/videos/". $video);

我尝试了一些代码,但没有成功

        $video = Storage::disk('private')->get("/videos/". $video);
        $response = Response::make($video, 200);
        $response->header('Content-Type', 'video/mp4');
        
        return $response;
php laravel video storage
1个回答
0
投票

当地司机

storage/app/public
之外的所有文件都是私有的。

将视频文件放入

storage/app/videos/

return response()->file(Storage::path('videos/'.$video), ['Content-Type' => 'video/mp4']);
// routes/web.php

Route::get('videos/{video}', [PrivateController::class, 'get']);
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.