欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

FCKEditor的使用02

程序员文章站 2022-03-20 13:30:14
...

3.控制上传文件大小(目前不同版本实现可能不同,但机制是一样的)

和上传增加自动标识列一样,同样是在增加UUIDPost方法中进行判断文件大小,FCK并没有提供这种机制

在上传的对象中有判断文件大小的方法

//控制上传文件大小

if(uplFile.getSize() > 10 * 1024){

    LocalizedMessages lm = LocalizedMessages.getInstance(ThreadLocalData

           .getRequest());

    return  new UploadResponse(204, null, null, lm

           .getInvalidCurrentFolderSpecified());

}

 

 

 

以上如果文件大于10K的话就不能通过,关于返回的对象,其实是供客户端调用的。

对于这个对象可以参考其他判断中返回的对象例如:

在上传一开始就有如下判断:

if (!RequestCycleHandler.isEnabledForFileUpload(request))

    uploadResponse = UploadResponse.getFileUploadDisabledError();

// check parameters  

else if (!Command.isValidForPost(context.getCommandStr()))

    uploadResponse = UploadResponse.getInvalidCommandError();

else if (!ResourceType.isValidType(context.getTypeStr()))

    uploadResponse = UploadResponse.getInvalidResourceTypeError();

else if (!UtilsFile.isValidPath(context.getCurrentFolderStr()))

    uploadResponse = UploadResponse.getInvalidCurrentFolderError();

else {

就是如果条件不符合,则有一个UploadResponse对象被返回,到这个类的各个方法中看看,进入UploadResponse类可以看到他定义了许多供返回的常量

    /** Creates a <code>INVALID RESOURCE TYPE</code> error. */

    public static UploadResponse getInvalidResourceTypeError() {

       LocalizedMessages lm = LocalizedMessages.getInstance(ThreadLocalData

              .getRequest());

       return new UploadResponse(EN_CUSTOM_ERROR, null, null, lm

              .getInvalidResouceTypeSpecified());

    }

 

 

 

 

通过他的一个方法可以看出,创建一个LocalizedMessages对象,然后返回一个带有标识的UploadResponse对象。所以在文件太大不符合要求时可以这样返回

    LocalizedMessages lm = LocalizedMessages.getInstance(ThreadLocalData

           .getRequest());

    return  new UploadResponse(204, null, null, lm

           .getInvalidCurrentFolderSpecified());

 

 

这个204是自己定义的,但是不要和FCK定义的重复,即不要和UploadResponse类中定义的常量重复。

返回204 标识后客户端会接受,接收错误码的页面是 fck_image.html ,具体处理错误码的地方是该页面引入的一个JS文件,在fck_image.js中控制的找到function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )

方法,可以看到,这里接受的错误码!在这里增加自己的错误码,并给予提示。同时可以在这里修改文件错误时各种情况的提示信息

增加

case 204:

    alert( "文件大小超出限制" ) ;

    return ;

 

 

 

,这样就完成了,上传图片时不能大于10K的功能!注意的是,所有上传类型都不能大于10K,这样设置的话!

相关标签: fckeditor HTML