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

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

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

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 19
chowjiawei

用cdn

3年前 评论

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

3年前 评论
你看我吊吗啊

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

3年前 评论
九霄道长

有条件还是oss+cdn吧

3年前 评论
巴啦啦臭魔仙 (楼主) 3年前
九霄道长

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

3年前 评论
巴啦啦臭魔仙 (楼主) 3年前

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

3年前 评论
laradocs 3年前
jxlwqq (作者) 3年前

优雅吧,方便随时 unlink

3年前 评论

为什么不直接放到public

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

3年前 评论

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

3年前 评论

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

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

3年前 评论

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

composer require littledragoner/file-manager
3年前 评论

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

3年前 评论

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

3年前 评论
aab

CDN用户没有这个烦恼

3年前 评论

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