Laravel 未找到响应 404 文件

Laravel response 404 file not found

我正在使用 Dingo/API,这是一个转换器,returns 我的数据

return [
            'id' => $site->id,
            'path' => asset($site->path),
            'siteLink' => $site->site_link,
            'features' => $features,
        ];

生成的 link 看起来不错,但是当我尝试从我的 Angular 应用访问它时,它说

Failed to load resource: the server responded with a status of 404 (Not Found) http://api.example.com/public/thumbnails/ySOSYhaCCRcH3t9agsco3ToUwoHxMZJ3r1PhEHlM.jpeg

您确定您的图像存储在 public/public 文件夹中吗? asset() 帮助程序从 public 文件夹生成资产路径。因此,在您的 属性 $site->path 中,您会得到一个像 'public/yourimage.jpeg' 这样的图像路径。尝试从您的 $site->path 中删除 'public'。

解决方法。

filesystems.php 中,本地磁盘被指定为默认磁盘。根据文档 local 磁盘对于 public 应该是 invisible 并存储在 storage/app 中。因此,我试图使用 local 磁盘保存我的文件并使用路径 public/... 访问它。

选项#1

filesystems.php 默认磁盘更改为 public 并使用 Storage::url() 获取 url 映像。

选项#2

使用$file->store('path', 'public')Storage::disk('public')->url('path')

所以使用的磁盘是明确指定的。

给定路径将包含 link 接近 http://example.com/storage/path