从存储文件夹中提供图像以在Laravel 5中查看


Serve image from storage folder to view in Laravel 5

在浏览了几乎每一个Google和SO点击后,我仍然无法解决这个问题。

在我的app中,用户可以上传图片。因为用户的数据非常敏感,所以我将所有内容保存在存储文件夹中,并使用php提供图像。

<<p> 视图/strong>
<img src="{{ asset('logo/' . $organization->logo_thumbnail_path) }}" alt="">

Route::get('logo/{logo}', function($logo) {
    $image = Image::make(Storage::disk('logo-image')->get($logo));
    $image->response();
});

路由在storage/app/img/logo中查找相应的文件名。如果我回显Storage::disk('logo-image')->get($logo),我得到一个巨大的页面奇怪的字符,使我相信它确实得到了实际的。jpg图像。

但是,即使我直接访问路由,图像也不会显示。

同样,如果我改变路径让我回到主页,然后打开应该渲染图像的视图,什么也不会发生。这让我相信路由永远不会从<img>标签内调用。

你们有人知道更多吗?我被困住了,几个小时的搜索也没有任何效果。

EDIT:手动设置响应中的所有标题和内容,确保图像显示

似乎答案很简单,我没有返回$image->response()

所以return $image-response();和所有的工作。

谢谢@Drown !