关于文件路径的一个小问题.
上传文件
$path = $request->file('file')->store('public');
dd($path); //
这里返回的路径是 public/xxx.jpg 但是访问路径是 storage/xxx.jpg
那么数据库中应该存那个?
如果存 public/xxx.jpg 的话 访问的时候就需要替换一下.
如果存 storage/xxx.jpg的话 对文件操作的时候(比如删除,移动)就需要替换成public/xxx.jpg
有没有什么快捷的方法或者函数可以让它们互转的?
php artisan storage:link
运行这个, 你试试,会做一个软连接, 存储 public 就ok
直接存 xxx.jpg ,使用的时候用
storage_path
和public_path
建议贴出
filesystems.php
里的磁盘配置这不就统一路径了?
如果使用软链,可以存储2种路径,或者自己写一个转换的助手函数,使用ORM的访问器转换读取的访问路径。方案很多。不过现在为了加快网站响应速度,都会使用oss。