【问题标题】:KCFinder Image Browser gives 404 error when editing a PageKCFinder 图像浏览器在编辑页面时出现 404 错误
【发布时间】:2016-06-29 15:12:02
【问题描述】:

我已将 KCFinder 集成到 KCEditor 中,以便在 Codeigniter 站点中上传图像。当我创建一个页面时,它可以工作。我可以将图像上传到服务器并将它们插入页面。但是当我将页面从 MySQL 取回 CKEditor 进行编辑时,当我尝试浏览图片时,KCFinder 会抛出 404 错误。

问题是在编辑时,图片浏览器获取的 URL 错误!但是编辑页面和创建页面都链接到同一个 KCFinder 文件夹,所以我不明白为什么它在页面编辑期间会中断。

以下是 ckeditor 的 config.js 文件中的 URL:

   config.filebrowserBrowseUrl = '../kcfinder/browse.php?opener=ckeditor&type=files';
   config.filebrowserImageBrowseUrl = '../kcfinder/browse.php?opener=ckeditor&type=images';
   config.filebrowserFlashBrowseUrl = '../kcfinder/browse.php?opener=ckeditor&type=flash';
   config.filebrowserUploadUrl = '../kcfinder/upload.php?opener=ckeditor&type=files';
   config.filebrowserImageUploadUrl = '../kcfinder/upload.php?opener=ckeditor&type=images';
   config.filebrowserFlashUploadUrl = '../kcfinder/upload.php?opener=ckeditor&type=flash';

我可以解决这个问题的唯一方法是使用绝对 URL。所以我用http://localhost.dev替换了所有路径的../,就像这样......

config.filebrowserBrowseUrl = 'http://localhost.dev/kcfinder/browse.php?opener=ckeditor&type=files';  

这解决了问题,但出于可移植性的原因,我不喜欢在这种情况下使用绝对 URL(每当我将站点移动到不同的环境时,我都必须更改 URL)。有没有办法可以解决这个问题并维护相对 URL? 不知道 任何无痛替代方案都是最受欢迎的。

【问题讨论】:

  • 所以你想从js访问base_url或者site_url。因此,每当您更改或移动您的网站时,它都不会产生任何问题。这是你想要的吗?
  • Raj 谢谢。是的,但我认为它在 JS 文件中不可用。它本来可以解决问题的。

标签: codeigniter ckeditor kcfinder


【解决方案1】:

如果 KCFinder 位于 CKEditor 安装的插件文件夹中:

config.filebrowserBrowseUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'browse.php?type=files' );
config.filebrowserImageBrowseUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'browse.php?type=images' );
config.filebrowserFlashBrowseUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'browse.php?type=flash' );
config.filebrowserUploadUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'upload.php?type=files' );
config.filebrowserImageUploadUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'upload.php?type=images' );
config.filebrowserFlashUploadUrl = CKEDITOR.getUrl( CKEDITOR.plugins.getPath( 'kcfinder' ) + 'upload.php?type=flash' );

【讨论】:

  • 没有进一步的调整。我刚刚实施了解决方案。我粘贴了代码并移动了 KC 文件夹,刷新后,它就可以工作了! user4762971 你是最棒的!非常感谢,您让我免于使用绝对 URL。
猜你喜欢
  • 2014-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
相关资源
最近更新 更多