FCKEditor的使用02

阅读更多

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 INVALID RESOURCE TYPE 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)