找不到Laravel响应404文件

时间:2018-08-30 15:13:55

标签: php angular laravel dingo-api

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

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

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

  

无法加载资源:服务器响应状态为404(未找到)   http://api.example.com/public/thumbnails/ySOSYhaCCRcH3t9agsco3ToUwoHxMZJ3r1PhEHlM.jpeg

2 个答案:

答案 0 :(得分:1)

您确定图像存储在公共/公共文件夹中吗? asset()帮助程序从公用文件夹生成资产路径。因此,在您的媒体资源$ site-> path中,您可以找到图像的路径,例如“ public / yourimage.jpeg”。尝试从$ site-> path中删除“ public”。

答案 1 :(得分:0)

解决方案。

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

选项#1

filesystems.php的默认磁盘更改为public,然后使用Storage::url()获取图像的url。

选项#2

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

因此要明确指定使用的磁盘。

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