laravel上传图片,目录有图片, 访问404

laravel文件系统配置文件位于 config/filesystems.php

'public' => [
    'driver' => 'local',
    'root' => storage_path('app/public'),
    'url' => env('APP_URL').'/storage',
    'visibility' => 'public',
],

上传代码如下

//扩展名
$ext = $file->getClientOriginalExtension();
//临时绝对路径
$realPath = $file->getRealPath();
//新文件名
$filename = date('Ymdhis') . '-' . uniqid() . '.' . $ext;

$bool = Storage::disk('public')->put($filename, file_get_contents($realPath));

文件会被上传到 

storage/app/public 目录下 

 

 

重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了重点来了

我用的是mac homestead环境 登录进去

vagrant upvagrant ssh 

sudo -i 获得root 权限 (重点是这句)

进入对应项目 执行

php artisan storage:link   创建软链接

此时 public 文件夹下多了一个 storage 指向的就是 storage/app/public 里的文件

 

上传完了之后直接访问 大功告成

test.com/storage/filename.png

laravel上传图片,目录有图片, 访问404