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

如何将Flmngr文件管理器对接至Laravel服务器以读写本地图片

解决Flmngr Laravel集成CKEditor连接本地服务器的问题

核心问题分析

你当前配置的主要问题是缺失免费版默认API密钥,且后端路由仅支持POST请求(Flmngr部分操作需要GET),同时需确保文件目录权限正确。以下是修正步骤:

1. 修正前端CKEditor配置

必须保留免费版默认的apiKey,否则Flmngr会自动 fallback 到演示服务器。同时确认urlFileManager地址与后端路由完全匹配:

ClassicEditor.create(document.querySelector('#editor'), {
    language: 'fa',
    Flmngr: {
        apiKey: "FLMNFLMN", // 免费版必填默认密钥,不可删除
        urlFileManager: "http://cms-project.test/admin/flmngr", // 与后端路由地址一致
        urlFiles: "/uploads" // 前端访问文件的公开URL路径
    }
})
.then(editor => {
    window.editor = editor;
})
.catch(error => {
    console.error('Oops, something went wrong!');
    console.error(error);
});

2. 调整后端Laravel路由

Flmngr需要同时处理GET(加载文件列表)和POST(上传/删除文件)请求,因此修改路由为支持两种请求方式,并确保文件目录存在:

Route::match(['get', 'post'], '/admin/flmngr', function () {
    $dirFiles = public_path('uploads');
    
    // 自动创建uploads目录(如果不存在)
    if (!file_exists($dirFiles)) {
        mkdir($dirFiles, 0755, true);
    }
    
    \EdSDK\FlmngrServer\FlmngrServer::flmngrRequest([
        'dirFiles' => $dirFiles,
    ]);
})->name('file-manager');

3. 确保文件目录权限正确

执行以下命令(Linux服务器)设置public/uploads目录的读写权限:

chmod -R 755 public/uploads
chown -R www-data:www-data public/uploads # 根据你的服务器运行用户调整,比如apache/nginx用户

验证要点

  • 确认urlFileManager的地址可以正常访问:在浏览器中访问http://cms-project.test/admin/flmngr,若返回JSON格式的错误(如{"error":"No command specified"}),说明路由配置正确
  • 检查浏览器控制台是否有跨域或404错误,若有则调整urlFileManager地址或路由配置

内容的提问来源于stack exchange,提问作者Behxad_rhw

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 06:12:33