【问题标题】:Laravel response 404 file not foundLaravel 响应 404 文件未找到
【发布时间】:2019-02-05 14:20:43
【问题描述】:

我正在使用 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

【问题讨论】:

  • 您确定图片(ySOSYhaCCRcH3t9agsco3ToUwoHxMZJ3r1PhEHlM.jpeg) 存在吗?
  • 是的,我是。我已经检查过了
  • 如果api.example.com 是一个 Laravel 应用程序,那么“public”目录通常是网站的根目录。也许尝试在没有公共位的情况下发送“路径”
  • 是laravel自己生成的路径

标签: php angular laravel dingo-api


【解决方案1】:

您确定您的图像存储在 public/public 文件夹中吗? asset() 助手从公用文件夹生成资产路径。因此,在您的属性 $site->path 中,您将获得图像的路径,例如“public/yourimage.jpeg”。尝试从您的 $site->path 中删除“public”。

【讨论】:

    【解决方案2】:

    解决办法。

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

    选项 #1

    filesystems.php 默认磁盘更改为public 并使用Storage::url() 获取图片的网址。

    选项 #2

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-08-04
      • 2021-03-21
      • 2019-10-20
      • 2021-02-27
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多