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 <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,这样设置的话!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值