微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Laravel:加载存储在’public’文件夹之外的图像

我正在尝试在我的视图中显示存储在“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">

routes.PHP文件

Route::get('images/{image}', function($image = null)
{
    $path = storage_path().'/imageFolder/' . $image;
    if (file_exists($path)) { 
        return Response::download($path);
    }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐