RuntimeException laravel 5.8 RuntimeException Этот драйвер не поддерживает создание временных URL-адресов.

RuntimeException Этот драйвер не поддерживает создание временных URL-адресов.

Я пытаюсь сгенерировать Временный URL для каждого запроса Laravel версии 5.8 ниже кода, пытающегося показать ошибку.

Этот драйвер не поддерживает создание временных URL-адресов.

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

person vinay    schedule 22.05.2019    source источник


Ответы (1)


Насколько мне известно, temporaryUrl — это метод, используемый в таких драйверах, как s3, для создания временного URL-адреса для частного ресурса.

Если вы хотите установить временный 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);
}

Это доказательство концепции, но я надеюсь, что это поможет.

person thisiskelvin    schedule 23.05.2019