You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

借助Orchid Laravel库上传图片遇路径配置问题求助

问题描述

我正尝试从存储中上传图片并插入至表格内,尝试了多种图片路径写法但均未生效,开发环境为WSL。

现有代码示例

TD::make('image', 'Картинка')->render(function (News $news){
            return "<img src="{asset($news->image)}"";
            return  asset($news->image);
        }),

问题截图

图片显示异常截图1
图片显示异常截图2

解决方案
  1. 修复字符串拼接语法错误
    代码里存在引号嵌套错误,且两个return语句只会执行第一个,正确写法:
TD::make('image', 'Картинка')->render(function (News $news) {
    // 基于存储的相对路径生成访问URL
    $imageUrl = asset('storage/' . $news->image);
    return "<img src='{$imageUrl}' alt='新闻图片' />";
}),
  1. 创建存储软链接
    Laravel需通过软链接访问storage/app/public下的文件,在WSL终端执行:
php artisan storage:link

执行后public/storage会链接到storage/app/public,确保asset('storage/xxx')能正确指向文件。

  1. 验证图片存储路径
  • 确认$news->image存储的是storage/app/public下的相对路径(如news/xxx.jpg),而非绝对路径或完整URL
  • 检查文件是否实际存在于对应目录,比如storage/app/public/news/xxx.jpg
  1. 修复WSL目录权限
    避免因权限问题无法读取文件,在WSL终端执行:
chmod -R 755 storage/
chown -R www-data:www-data storage/

内容的提问来源于stack exchange,提问作者Андрей Двойкин

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 15:22:11