我正在使用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
答案 0 :(得分:1)
您确定图像存储在公共/公共文件夹中吗? asset()帮助程序从公用文件夹生成资产路径。因此,在您的媒体资源$ site-> path中,您可以找到图像的路径,例如“ public / yourimage.jpeg”。尝试从$ site-> path中删除“ public”。
答案 1 :(得分:0)
在filesystems.php
中,本地磁盘被指定为默认磁盘。根据文档local
,应该将磁盘invisible
公开并存储在storage/app
内部。因此,我试图使用local
磁盘保存文件,并使用路径public/...
访问它。
将filesystems.php
的默认磁盘更改为public
,然后使用Storage::url()
获取图像的url。
使用$file->store('path', 'public')
和Storage::disk('public')->url('path')
因此要明确指定使用的磁盘。
给定的路径将包含接近http://example.com/storage/path
的链接。