如何在CKEditor中设置图像上传限制

时间:2013-05-20 18:15:25

标签: c# asp.net-mvc asp.net-mvc-4 visual-studio-2012 ckeditor

基于用户凭据的aps.net mvc4应用

对于一般用户 - 他们可以上传4个类型为.png,.jpg的图像,每个图像的文件大小最大为10k 管理员用户 - 他们可以上传10个文件类型的图像,每个文件大小最大为100K

目前,我们已将图像上传到服务器后检查服务器上的这些条件

寻找一种方法对客户端本身进行检查之前

感谢

1 个答案:

答案 0 :(得分:1)

在我看来,最直接的方法是破解Image插件的JavaScript代码。我发现没有正确记录的插件对话框的一个方面是onOK()函数可以返回false以防止解除对话本身。您可以在那里触发验证,以便在验证失败时从false返回onOk()

the human-readable version of the Image plug-in code中,您会在此特定版本的第361行找到onOk()

我会在ckeditor/config.js文件中设置最大文件大小设置,并检查验证。

至于获取文件的实际大小,我猜测一旦用户选择文件选择器中的文件,您就可以访问有关该文件的信息。我不知道CKEditor API中是否存在某些内容,或者您​​是否必须利用其他JS库,但您需要以某种方式获取客户端所选文件的文件大小。在onOk()中,您可以触发自定义代码来确定此问题,并根据config.js中指定的最大大小处理验证。有可能很容易找到一般如何使用配置的示例。我认为获取本地文件大小可能是最棘手的部分。

我建议在上面链接的图片插件JS中进行浏览,从onOk()开始,然后从那里开始工作,看看你是否已经找到了有用/有用的东西。

CKEditor version 4 documentation page似乎比version 3好一些,但我不知道您使用的是哪个版本。我建议调查你的版本的API文档(请注意,我发现版本3文档在防止对话解雇方面是不正确的;我必须通过查看CKEditor代码本身来解决这个问题,通过文档站点,因为我本地只有缩小的源文件。)

answer也可能有所帮助;它专注于自定义文件对话框而不是标准文件对话框。