关于文件路径的一个小问题.

上传文件

$path = $request->file('file')->store('public');
dd($path);  // 

这里返回的路径是 public/xxx.jpg 但是访问路径是 storage/xxx.jpg
那么数据库中应该存那个?
如果存 public/xxx.jpg 的话 访问的时候就需要替换一下.
如果存 storage/xxx.jpg的话 对文件操作的时候(比如删除,移动)就需要替换成public/xxx.jpg

有没有什么快捷的方法或者函数可以让它们互转的?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 11

php artisan storage:link

运行这个, 你试试,会做一个软连接, 存储 public 就ok

3年前 评论
whcoding (楼主) 3年前
whcoding (楼主) 3年前
kis龍 (作者) 3年前

直接存 xxx.jpg ,使用的时候用 storage_pathpublic_path

3年前 评论
whcoding (楼主) 3年前
ztlcoder (作者) 3年前

建议贴出 filesystems.php 里的磁盘配置

3年前 评论
$path = $request->file('file')->move(public_path()  . '/upload');

这不就统一路径了?

3年前 评论

如果使用软链,可以存储2种路径,或者自己写一个转换的助手函数,使用ORM的访问器转换读取的访问路径。方案很多。不过现在为了加快网站响应速度,都会使用oss。

3年前 评论
whcoding (楼主) 3年前

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