从laravel控制器显示图像

时间:2017-01-23 05:17:08

标签: php laravel-5

想询问是否有人试图从Laravel控制器显示图像。下面是我的Laravel控制器代码。所以基本上我只是想隐藏图像的实际网址并添加额外的验证,所以我决定将图像调用我的laravel URL。

调用laravel控制器的刀片代码

<img src="/image/1">

路线

Route::get('/image/{image_id}', ['as' => 'site.viewImage', 'uses' => 'ImageController@viewImage']);

控制器

public function viewImage($image_id)
{
    return Storage::get($image_id . '.png');
}

但这会返回一个未找到的错误。我在这里做错了吗? 注意:我将它传递给控制器​​,因为我需要做额外的valdiation并模糊文件的实际url

我尝试了这段代码及其工作,但我想要一种laravel类型的方法

header("Content-type: image/png");
echo Storage::get($image_id .'.png');exit;

我也试过这种方法

$response = response()->make(Storage::get($image_id . '.png'), 200);
$response->header("Content-Type", 'image/png');
return $response;

laravel方法引发了404错误。

1 个答案:

答案 0 :(得分:5)

你试过吗

return response()->file($filePath);

请参阅:https://laravel.com/docs/5.3/responses#file-responses