将文件(图像)存储在public/images文件夹和将其存储在storage/app/public文件夹之间有什么区别?

推荐答案

公用文件夹意味着文件可以公开访问.例如,任何人都可以通过进入

mysite.com/images/my-image.jpeg

However, files stored in storage directory are only available to your app.

Laravel has a php artisan storage:link command that adds a symlink to public from storage/app/public

这样做的原因是,您的storage可能不是本地文件系统,而是一个Amazon S3 bucket或Rackspace CDN(或其他任何东西)

You will need to setup your filesystem configurations by following the docs https://laravel.com/docs/5.6/filesystem

完成此操作后,您可以向/从存储位置获取/存储文件,而不是将所有文件都放在您的服务器上.

publicstorage有两种显示文件的助手方法:

storage: storage_path('my-file.jpg')

public: asset('my-file.jpg')

Laravel相关问答推荐

如何更改LIVE上的Filament占位符内容?

运行NPM Prod时出现VUE问题

如何在 Laravel 中获取特定月份的最后一个日期?

如何使用 laravel 更新单个值

如何使用动态翻译键翻译 Laravel硬编码字符串(还有 1 个错误)..(验证异常类)

Laravel phpunit 测试失败并出现 PDOException:SQLSTATE[HY000]:一般错误:1 接近0:语法错误

如何使用 Laravel 查询生成器在 WHERE 条件周围添加括号

Laravel 集合排序不生效

RouteCollection.php 第 219 行中的 MethodNotAllowedHttpException

Laravel 重定向数据不工作

在 Laravel 5 中添加新配置文件不起作用

Laravel - 如何恢复本地存储符号链接并刷新

Laravel 5.2 身份验证不起作用

无法打开laravel.log:无法打开流

Laravel 如何从子域 URL 中删除api前缀

Lumen/Laravel 6:调用未定义的函数 array_except()

Laravel 删除集合中的第一项

在 Laravel 中判断会话超时

带有 Xdebug 的 Laravel 5 总是抛出The payload is invalid..

Laravel Eager加载与显式连接