Как вернуть изображение в Laravel 6? - PullRequest
2 голосов
/ 29 апреля 2020

У меня есть этот код:

public function showImage($id) {
    $item = File::find($id);

    return response()->file($item->file_name_and_path);
}

$item->file_name_and_path содержит следующее:

files/2020/04/29/myfile.jpeg

Теперь я всегда получаю FileNotFoundException.

Изображение файл находится на локальном драйвере по этому пути:

{laravel root}/storage/app/files/2020/04/29/myfile.jpeg

Как получить правильный локальный путь или просто вернуть файл изображения с заголовками HTTP изображения?

1 Ответ

1 голос
/ 29 апреля 2020

Для этого вы можете использовать фасад хранилища:

use Illuminate\Support\Facades\Storage;

public function showImage($id) {
    $item = File::find($id);

    return Storage::response($item->file_name_and_path);
}

Как видите, здесь , к ответу будут добавлены следующие заголовки:

'Content-Type'
'Content-Length'
'Content-Disposition'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...