Filament 3本地开发远程存储图片加载失败修复求助
Filament 3 远程FTP存储图片预览不显示的解决方法
1. 补全文件系统磁盘的URL配置
Filament生成图片预览需要明确的远程文件访问地址,修改config/filesystems.php中的FTP磁盘配置,添加url参数并启用被动模式(避免防火墙拦截):
'ftp' => [ 'driver' => 'ftp', 'host' => env('FTP_HOST'), 'username' => env('FTP_USERNAME'), 'password' => env('FTP_PASSWORD'), 'port' => (int) env('FTP_PORT', 21), 'root' => env('FTP_ROOT'), 'url' => 'http://644.211.222.122', // 远程服务器公网访问地址,对应FTP_ROOT的public目录 'passive' => true, 'ssl' => false, // 按需启用,若FTP用SSL则改为true 'timeout' => 30, ],
执行命令刷新配置:
php artisan config:clear
2. 确保Filament资源指定正确磁盘
在你的Filament资源的表单和表格组件中,明确指定使用ftp磁盘:
// 表单上传组件 Forms\Components\FileUpload::make('image') ->disk('ftp') ->image() ->previewable(), // 表格图片预览列 Tables\Columns\ImageColumn::make('image') ->disk('ftp'),
3. 检查远程文件权限与可访问性
- 登录FTP客户端,确认上传的图片文件权限为
644,目录权限为755,确保Web服务器能读取这些文件 - 直接在浏览器访问图片的完整URL(例如
http://644.211.222.122/xxx.jpg),如果无法访问,检查远程服务器的Web根目录是否指向public文件夹,以及防火墙是否开放80端口
4. 清理相关缓存
执行以下命令彻底清除各类缓存:
php artisan view:clear php artisan route:clear php artisan filament:clear-cache
内容的提问来源于stack exchange,提问作者Leg3nd4ry
相关产品推荐
相关产品推荐

