Получить тип изображения MIME из хранилища? - PullRequest
0 голосов
/ 26 февраля 2019

Я получаю файл из хранилища, используя:

$image = Storage::get('test.jpg');

Как я могу получить его MIME-тип?

Я пробовал:

$mime = Storage::mimeType($image);

Без удачи.

Мне нужен тип MIME, чтобы я мог вернуть изображение в ответ:

$response = Response::make($image, 200);
$response->header('Content-Type', $mime);
return $response;

1 Ответ

0 голосов
/ 14 мая 2019

При использовании фасада хранилища в контроллере вы можете вернуть изображение в качестве ответа в Laravel 5.7.Функция response () автоматически устанавливает требуемые заголовки, а не пытается сделать это самостоятельно.

// Option #1
return Storage::response('test.jpg'); // Local storage
// Option #2
return Storage::disk('s3')->response('test.jpg); // If you are using an S3 driver
// Option #3
return Storage::cloud()->response('test.jpg'); // Also S3 driver unless otherwise configured

Это не задокументировано, но можно найти, посмотрев на базовый код Laravel:

vendor / laravel / framework / src / Illuminate / Filesystem / FilesystemAdapter.php

Если вам по какой-либо причине все еще нужно получить тип MIME, вы сможете получить его, вызвав:

$mimeType = Storage::mimeType('test.jpg');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...