Laravel 存储私有镜像访问

Posted

技术标签:

【中文标题】Laravel 存储私有镜像访问【英文标题】:Laravel Storage Private Image Access 【发布时间】:2020-11-28 10:49:05 【问题描述】:

我正在尝试从视图访问存储在公用文件夹之外的图像。我可以像这样在 storage/app/public 文件夹中获取图像

    <img src="storage/imagename.jpg"  >

我在 storage/app/avatar 中有一个头像文件夹,我如何将它放到视图中

【问题讨论】:

您是否运行php artisan storage:linkstorage/publicpublic/storage 之间创建符号链接? 您好,抱歉,我认为我的问题不清楚。我可以访问 storage/app/public 中的公用文件夹,它正在工作。我在 storage/app/avatar 中有一个名为 avatar 的私人文件夹,我该如何访问该文件夹?是的,我运行 php artisan storage:link 【参考方案1】:

config/filesystems.phplinks 属性中添加以下内容:

'links' => [
    ...
    public_path('avatars') => storage_path('app/avatar'),
],

然后运行php artisan storage:link 来创建链接。

像这样访问它:

<img src="avatars/1.jpg">

或者更好地使用asset方法

<img src=" asset('avatars/1.jpg`) ">

【讨论】:

您好,抱歉,我认为我的问题不清楚。我可以访问 storage/app/public 中的公用文件夹,它正在工作。我在 storage/app/avatar 中有一个名为 avatar 的私人文件夹,我该如何访问该文件夹?您提供的上述解决方案适用于公用文件夹 我已经更新了我的答案,它将在您的公共文件夹中创建一个符号链接,链接到您的头像文件夹,以便您可以访问它 但我不希望公众访问头像文件夹中的图像,它应该只对登录用户可用。您提供的上述答案是否使头像公开可见? 它没有。你的问题不是很清楚,但这里是possible solotuin @rahulvimal 你能解决吗,jewishmoses 的解决方案提供商不适用于 s3 存储桶

以上是关于Laravel 存储私有镜像访问的主要内容,如果未能解决你的问题,请参考以下文章

PHP 7 和 Laravel 8 使用私有变量序列化模型

使用docker lnmp镜像包部署搭建laravel项目

laravel 5.3 护照和角度存储访问令牌

在 Laravel 中的 for 循环外访问变量

如何使用 Laravel 5.2 + Guzzle 6 存储 JWT 并授予用户访问权限

Laravel / Eloquent 模型属性可见性