讨论数量:
@aurora 请仔细看封装的代码注释,里面有这一段
// 将图片移动到我们的目标存储路径中
$file->move($upload_path, $filename);
return [
'path' => config('app.url') . "/$folder_name/$filename"
];
文件存储的路径与你在 /config/app.php
中的 url 的值有关,http://localhost
就是你的本地,域名换了在这儿更改相应的域名就行。
首先要理解整个项目是在本地的 vagrant
中运行的,所以保存的域名实际也是指向你的本地(这就是我在 #1 中的意思)。
线上的项目域名换了就更改 config
中的配置,静态资源能被访问,显示出来也肯定是绝对路径的。
拼接图片域名有两种方法,第一种在读取的时候拼;第二种是写入的时候拼。
两种方法各有所长,第一种灵活点,第二种性能更优更实用点。
在我们这个项目里,更换域名很有可能是永远不会遇到的事情,而头像读取,每个页面都会遇到,列表页甚至是大量的头像读取,也就是说一个页面几十次甚至更多阅读都有,何必浪费 CPU 资源呢。
当然,现实项目中,还是要依照不同情况选择不同的方案,最适合项目的是最优的,在知道这两种方案各自优缺点后从中选择。
@stefen
@aurora
@zssen
@Jeffrey