RuntimeException laravel 5.8 RuntimeException此驱动程序不支持创建临时URL

时间:2019-05-22 11:38:01

标签: laravel-5.8

  

RuntimeException此驱动程序不支持创建临时URL。

我正在尝试为下面显示错误的代码 Laravel 5.8 的每个请求生成 Temp Url

此驱动程序不支持创建临时URL。

$url = "66.jpeg";
$url = Storage::disk('public')->url($url);
$url = Storage::disk('public')->temporaryUrl(
        '66.jpeg', now()->addMinutes(5)
);

1 个答案:

答案 0 :(得分:2)

据我所知,temporaryUrl是一种在s3之类的驱动程序上使用的方法,用于为私有存储资产创建临时网址。

如果您想为文件设置一个临时URL,使用Cache来临时存储路径可能会有所帮助。

Cache可以将key/value设置为设置的时间。可以创建一个链接到端点的URL。然后可以创建端点,该端点返回该文件的内容:

// Creating temp file index in cache

$image = '66.jpg';

Cache::put('/temp/' . $image, 300); // 5 minutes

例如,现在进入TempController.php(访问http://example.com/temp/66.jpg):

public function show($image)
{
    if (Cache::get('/temp/' . $image) && ! Storage::disk('public')->exists($image)) {
        // not in cache or do not exist, maybe redirect...
    };

    return Storage::disk('public')->get($image);
}

这是一个概念证明,但是我希望这会有所帮助。