Получить тип изображения MIME из хранилища?
Я получаю файл из хранилища, используя:
$image = Storage::get('test.jpg');
Как я могу получить его MIME?
Я пробовал:
$mime = Storage::mimeType($image);
Без удачи.
Мне нужен тип MIME, чтобы я мог вернуть изображение в ответ:
$response = Response::make($image, 200);
$response->header('Content-Type', $mime);
return $response;
0 ответов
При использовании фасада Storage в контроллере вы можете вернуть изображение в качестве ответа в 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');