如何在Laravel 5.3中显示存储文件夹中的图像?

时间:2016-11-28 18:26:38

标签: php laravel-5

我在Laravel 5.3项目中有一个位于存储中的文件夹,它包含图像文件。

如何显示该文件夹中的图片?

我有

的所有名字
Storage::allFiles('images');

由于文件夹权限,我无法以通常的方式访问它们,我不想更改它们。 我也不想把这些文件放在公共目录中。

有什么建议吗? 提前谢谢。

1 个答案:

答案 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类型并根据它返回正确的响应类型等。