我在Laravel 5.3项目中有一个位于存储中的文件夹,它包含图像文件。
如何显示该文件夹中的图片?
我有
的所有名字Storage::allFiles('images');
由于文件夹权限,我无法以通常的方式访问它们,我不想更改它们。 我也不想把这些文件放在公共目录中。
有什么建议吗? 提前谢谢。
答案 0 :(得分:2)
您可以编写一个控制器函数来返回图像...类似于:
public function image($file){
$image = storage_path('images/' . $file);
if(!File::exists( $image ))
App::abort(404);
// using Intervention Image package
return Image::make($image)->response('jpg');
// using Laravel file response
$headers = ['Content-Type' => 'image/jpeg'];
return response()->file($image, $headers);
}
当然这是非常简单的...你可以根据需要调整它,检查mime类型并根据它返回正确的响应类型等。