【发布时间】:2021-04-21 02:30:09
【问题描述】:
我想在我的 Laravel Orchid 管理面板中显示图像。 Orchid 将上传的图片存储在此文件夹中,文件夹名称为上传日期:
storage\app\public\2021\04\21\<name>
Laravel 将图像原始名称、路径、扩展名等存储在一个名为“附件”的特殊表中。它通过 id、“users”中的 image_id 和“attachments”中的 id 链接到我的名为“users”的主表。在我的数据库中,路径存储为日期,例如:
2021/04/21/
我执行了这个 SQL 连接查询来检索图像:
$image = $user->image_id;
$images = DB::table('users')
->leftJoin('attachments', 'users.image_id', '=', 'attachments.id')
->where('users.image_id', '=', $image)
->get(['name', 'original_name', 'path', 'extension']);
foreach($images as $image)
{
$image_url = $image->path.$image->name.'.'.$image->extension;
return "<img src='{$image_url}'
<span class='small text-muted mt-1 mb-0'>{$image->original_name}</span>";
}
我可以显示原始名称,但图像不显示。我想知道我检索图像的方式是否有问题。谢谢。
【问题讨论】:
-
看起来
<img标记缺少结束>,它可能需要一个大小(宽度和高度)? -
您的图片标签缺少
>,我认为您的网址中缺少项目根目录。它应该是这样的:127.0.0.1:8000/publc/path/to/folder -
当您在浏览器中检查损坏的链接/丢失的图像时,您会看到什么?路径不正确还是空路径?
-
@Andrew 输出的路径是正确的,但是当我在新选项卡中打开它时,它说该页面不存在。
-
@BillJustin 好的,当我从浏览器中尝试时,发现图片的链接不包括
/admin部分,它是http://127.0.0.1:8000/storage/2021/04/12/12876b4a034032120b0a3cc3972f19cf2411aaaf.png。我在这里需要一些指导。需要在/admin下注册图片路由吗?