SWFUpload与struts2整合,action返回信息解决

前一阵子,脑袋突然冒出在Java web里,批量上传文件的问题。struts原本有控件可以一次上传多个文件,但是需要一个一个选择文件,用户体检肯定不用说了。要是能够类似QQ图像上传不是挺好的。

于是,找了下资料。看到SWFUpload可以支持批量上传。于是动手感受下。可是被一个问题卡住了,SWFUpload有默认的错误信息,可是要自定义不知道该怎么办了。比如,对一个用户的上传总容量有控制,超过这个总容量就不能上传文件。这个一般都是要在后台代码里处理的。半天没找到相关资料,自己摸索下,终于找到一个方法,不知道是好是坏,先将就用了。

不知不觉说了这么多废话。直接点吧。

首先,自定义错误:在SWFUpload.js里错误代码列表里增加自定义错误代码UPLOAD_LIMIT_CAPACITY     : -300。

SWFUpload.UPLOAD_ERROR = {
 HTTP_ERROR        : -200,
 MISSING_UPLOAD_URL         : -210,
 IO_ERROR        : -220,
 SECURITY_ERROR       : -230,
 UPLOAD_LIMIT_EXCEEDED     : -240,
 UPLOAD_FAILED       : -250,
 SPECIFIED_FILE_ID_NOT_FOUND  : -260,
 FILE_VALIDATION_FAILED     : -270,
 FILE_CANCELLED       : -280,
 UPLOAD_STOPPED     : -290,
 UPLOAD_LIMIT_CAPACITY     : -300

};

接下来,在uploadSuccess 函数里增加调用上传文件错误的方法

SWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) {
 if(serverData == -1000){
  this.uploadError(file, -300, "图片空间已满");
  return;
 }
 file = this.unescapeFilePostParams(file);
 this.queueEvent("upload_success_handler", [file, serverData, responseReceived]);
};

再接下来,当然就是在uploadError函数里,添加错误信息了。

case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_CAPACITY:
   imageName = "<font color='red'>图片空间已满!</font>";
   break;

至此,准备工作做好。就等被触发了。看官应该知道是在action里传-1000这个值到前台了。

       if (isNotcapacity()) {//判断是否空间已满
            HttpServletResponse response = getResponse();
            response.setContentType("text/html; charset=UTF-8");
            response.setHeader("Cache-Control", "no-cache");
            PrintWriter out = response.getWriter();
            out.println("-1000");
            out.flush();
            out.close();
            return;
        }

OK,检查下是不是可行了吧!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值