想请教大家,平时用户上传的或者自己上传的图片文件,是保存到根目录public里还是storage里面呢?

想请教大家,平时用户上传的或者自己上传的图片文件,是保存到根目录public里还是storage里面呢?

想请教大家,平时用户上传的或者自己上传的图片文件,是保存到根目录public里还是storage里面呢?
看文档里说storage/app/public 目录用来存储用户生成的文件,用 php artisan storage:link 命令来创建链接,为什么不直接存到public目录下呢。
这个地方怎么样才规范,想听听大家这块是怎么处理的。:blush: :blush: :relaxed:

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 19
chowjiawei

用cdn

7个月前 评论

@chowjiawei 哈哈,当然云存储是更好的方式,想请教一下存本地情况下 :joy:

7个月前 评论
你看我吊吗啊

存在即合理,我想是出于安全考虑吧。

7个月前 评论

有条件还是oss+cdn吧

7个月前 评论
巴啦啦臭魔仙 (楼主) 7个月前

用户生成的文件指的是用户,不是开发者吧

7个月前 评论
巴啦啦臭魔仙 (楼主) 7个月前

public 用来公开各种文件,包括 storage 的软链,这样职责划分清晰一点。

7个月前 评论
laradocs 7个月前
jxlwqq (作者) 7个月前

优雅吧,方便随时 unlink

7个月前 评论

为什么不直接放到public

首先,文件放到storage里,没毛病。 但是如果你的文件需要外部能够访问,那么就放到public路径下,为啥不直接放进去,还要link一下呢?你理解下windows上的快捷方式就知道了~ 快捷方式不需要时随时可以删,但实际的文件或者程序还在。所以直接放文件的话,删了就啥都没了。

7个月前 评论

其实就是公开访问控制,存储在storage 下面,如果需要访问就开启软连,不需要删除,但是删除后,应用还可以使用,只是无法通过http访问了

7个月前 评论

放storage好像是为了好管理,因为附件不止公开的附件还有不需要公开的附件,就是只能走下载链接下载的附件。

都放public的话就都是公开的了

7个月前 评论

保存在 storage 下, 然后建软连接
推荐一个上传文件扩展

composer require littledragoner/file-manager
7个月前 评论

谢谢大家的解答,心里有数了 :kissing_heart:

7个月前 评论

public 一般资源文件之类的 Storage 除了存储缓存外,laravel 也封装了 Storage 文件操作类,用i起来可能方便吧,

7个月前 评论
aab

CDN用户没有这个烦恼

7个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!