使用 CKFinder 上传自定义文件

Posted

技术标签:

【中文标题】使用 CKFinder 上传自定义文件【英文标题】:Uploading custom files, using CKFinder 【发布时间】:2015-09-08 19:24:34 【问题描述】:

我安装了 Java CKFinder 和 CKEditor,它运行良好,这意味着我可以上传图像。但我必须让用户能够将 pdf-s 上传到与 %BASE_DIR% 相同的库中。 当我尝试通过图片按钮上传表单执行此操作时,它显示:“文件扩展名无效。”。

【问题讨论】:

你能把config.xml文件发给你吗? 【参考方案1】:

请熟悉资源类型:http://docs.cksource.com/CKFinder_2.x/Developers_Guide/Java/Configuration/Resource_Types

默认情况下,资源类型分为三种:文件、图像和 Flash。每种资源类型都有一组它接受的文件扩展名。 pdf文件被定义为文件资源类型。

如何从 CKEditor 级别访问适当的资源类型? 默认情况下,flash 资源类型可以从 Flash 对话框访问,图像资源类型从图像对话框访问,文件资源类型从链接对话框访问。

您始终可以通过尝试手动集成方法http://docs.cksource.com/CKFinder_2.x/Developers_Guide/Java/CKEditor_Integration#Manual_Integration 来更改此行为。但是,至少在开始时,我会保持原样。恕我直言,默认行为在您管理图像对话框中的图像、Flash 对话框中的 flash 和链接对话框中的文件时非常有意义(在 99.9% 的情况下,您只想链接文件)。如果您想链接到由图像表示的文件,您可以使用http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-filebrowserImageBrowseLinkUrl 例如

CKEDITOR.replace('editor1',     

    filebrowserBrowseUrl : '../ckfinder.html',
    filebrowserImageBrowseUrl : '../ckfinder.html?Type=Images',                 
    filebrowserFlashBrowseUrl : '../ckfinder.html?Type=Flash',
    filebrowserImageBrowseLinkUrl : '../ckfinder.html',     
    filebrowserUploadUrl : '/CKFinderJava/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files', //CKFinderJava is main application folder in my case
    filebrowserImageUploadUrl : '/CKFinderJava/ckfinder/core/connector/java/connector.java?type=Images&command=QuickUpload'
    filebrowserFlashUploadUrl : '/CKFinderJava/ckfinder/core/connector/java/connector.java?type=Flash&command=QuickUpload'
 );    

【讨论】:

以上是关于使用 CKFinder 上传自定义文件的主要内容,如果未能解决你的问题,请参考以下文章

ckeditor添加自定义按钮整合swfupload实现批量上传图片

CKEditor 自定义按钮插入服务端图片

CKFinder 裁剪自定义

CKEditor 图片上传

如何自定义rails文件上传表单

如何使用自定义 url 和文件夹将图像上传到 cloudinary