要从存储中获取哑剧图像类型吗?

时间:2019-02-26 16:26:08

标签: laravel laravel-5.7

我正在使用以下方法从存储中获取文件:

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

如何获得它的哑剧类型?

我尝试过:

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

没有运气。

我需要mime类型,以便可以返回图像作为响应:

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

1 个答案:

答案 0 :(得分:0)

在控制器中使用Storage Facade时,您可以在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');