laravel上传图片,目录有图片, 访问404
发布日期:2025-04-04 05:12:37 浏览次数:12 分类:精选文章

本文共 1258 字,大约阅读时间需要 4 分钟。

Laravel 文件系统配置及存储上传解决方案

Laravel 文件系统配置文件位置

Laravel 项目的文件系统配置文件位于 config/filesystems.php。这是一个重要的配置文件,用于定义文件存储的驱动、根路径、访问 URL 以及可见性等参数。

文件存储配置详解

配置文件中 public 部分的具体设置如下:

'public' => [    'driver' => 'local',    'root' => storage_path('app/public'),    'url' => env('APP_URL') . '/storage',    'visibility' => 'public',]
  • driver:使用本地存储驱动,适用于 development 和 small production 环境。
  • root:定义存储文件的实际路径,使用 storage_path('app/public') 会生成一个相对于项目根目录的路径。
  • url:指定存储路径的访问 URL,结合 env('APP_URL') 可以让测试环境和生产环境共用同一配置。
  • visibility:文件存储是否可见,设置为 public 可让文件通过 web 访问。

文件上传实现代码

上传文件时,可以参考以下代码:

// 获取文件扩展名$ext = $file->getClientOriginalExtension();// 获取文件绝对路径$realPath = $file->getRealPath();// 生成唯一文件名$filename = date('Ymdhis') . '-' . uniqid() . '.' . $ext;// 上传文件到 `public` 硬盘$bool = Storage::disk('public')->put($filename, file_get_contents($realPath));

文件存储路径位置

上传成功后,文件会被存储到 storage/app/public 目录下。通过上述配置和代码,只需调用 Storage::disk('public') 接口即可实现文件存储。

测试环境配置(Mac Homestead)

如果使用 Mac Homestead 作为开发环境,可以按照以下步骤操作:

  • 启动虚拟机

    vagrant upvagrant ssh
  • 获取 root 权限

    sudo -i
  • 进入项目目录

    cd 到你的项目根目录
  • 创建存储软链接(重要)

    php artisan storage:link

    这一步会在 public 文件夹下创建 storage 软链接,指向 storage/app/public 目录下的文件。

  • 测试访问路径

    完成以上步骤后,可以通过以下 URL 访问存储的文件:

    test.com/storage/filename.png

    通过这种方式,你就可以快速访问和验证存储到 storage/app/public 的文件。

    上一篇:laravel上线时,需要做的事
    下一篇:laravel6 内置 api 认证

    发表评论

    最新留言

    网站不错 人气很旺了 加油
    [***.192.178.218]2025年04月23日 21时05分41秒