我正在尝试在我的视图中显示存储在“public”文件夹之外的图像.这些是简单的配置文件图像,其路径存储在DB中.路径看起来像
/Users/myuser/Documents/Sites/myapp/app/storage/tenants/user2/images/52d645738fb9d-128-Profile (Color) copy.jpg
由于图像存储在每个用户的DB列中,我首先想到的是在User模型中创建一个Accessor来返回图像.我试过了:
public function getProfileImage()
{
if(!empty($this->profile_image))
{
return readfile($this->profile_image);
}
return null;
}
这在视图中产生了不可读的字符.我也尝试了file_get_contents()来代替读取文件.有关如何实现这一点的任何建议?
解决方法:
怎么样(只是自己测试它,它的工作原理):
风景:
<img src="/images/theImage.png">
Route::get('images/{image}', function($image = null)
{
$path = storage_path().'/imageFolder/' . $image;
if (file_exists($path)) {
return Response::download($path);
}
});