`
dubadiyu
  • 浏览: 18262 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

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

    博客分类:
  • jsp
 
阅读更多

前一阵子,脑袋突然冒出在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,检查下是不是可行了吧!

分享到:
评论

相关推荐

    swfupload与struts2整合文件上传/完整Java实例

    综上所述,SwfUpload与Struts2的整合主要涉及前端的SwfUpload配置和后端的Struts2 Action处理。通过这种方式,我们可以构建出一个高效的文件上传系统,为用户提供流畅的上传体验。在测试过程中,可以使用`test8`这样...

    SWFupload_struts_1.rar_struts1 swfuplo_swfupload_swfupload stru

    这个名为 "SWFupload_struts_1.rar" 的压缩包文件显然是为了整合SWFUpload与Struts 1框架而准备的资源。SWFUpload与Struts 1的结合可以提供更友好的用户界面和更高效的文件上传体验。 在Struts 1框架中,通常需要...

    swfupload+struts2多文件上传的例子

    本教程将详细讲解如何利用SWFUpload与Struts2框架来实现多文件上传的示例。 首先,让我们了解SWFUpload。SWFUpload是一款开源的Flash上传组件,它允许用户在不离开当前页面的情况下上传多个文件。通过在浏览器上...

    SWFupload_struts1.rar

    【SWFUpload与Struts1整合实现大文件上传与进度条】 在Web开发中,用户经常需要上传大文件,如视频、音频或大型文档。传统的HTML表单上传方式不支持断点续传,且无法显示文件上传进度,用户体验较差。为解决这些...

    swfupload demo struts

    **SWFUpload与Struts整合应用详解** 在Web开发中,文件上传功能是常见的需求,尤其是在用户需要提交图片、文档等非文本信息时。SWFUpload是一个强大的JavaScript库,它利用Flash技术实现了在浏览器端的多文件上传...

    struts2+swfupload上传

    设置SwfUpload的配置参数,如上传URL(指向Struts2 Action的URL)、文件类型限制、上传大小限制等。同时,利用其提供的事件监听器来更新进度条和处理上传结果。 3. **处理上传进度**:SwfUpload会触发一系列事件,...

    swfuplaod+struts2实现多文件上传

    **三、SWFUpload与Struts2整合步骤** 1. **添加依赖**:首先,需要在项目中引入SWFUpload的JavaScript库和Flash对象,以及Struts2的相关依赖。 2. **配置SWFUpload**:在HTML页面中,通过JavaScript调用SWFUpload...

    Struts+swfupload实现文件上传功能

    要将Struts与SwfUpload整合,我们需要做以下几步: 1. **集成SwfUpload**:首先在项目中引入SwfUpload的JavaScript和Flash库。在HTML页面中,通过JavaScript设置SwfUpload的配置,如上传URL、文件类型限制等,并将...

    三、struts2+swfUpload简单例子

    4. **后端处理**:Struts2 Action接收到SwfUpload上传的文件后,需要处理文件接收、保存到服务器、返回响应信息等任务。这通常涉及到文件流操作、文件存储路径管理以及可能出现的异常处理。 5. **配置Struts2**:在...

    swfupload批量上传文件

    “整合了struts”这一信息表明,这个批量上传功能是与Struts框架集成的。Struts是一个开源的MVC(Model-View-Controller)框架,用于构建基于Java的Web应用程序。将SWFUpload与Struts结合,可以方便地在Struts的动作...

    swf上传组件

    总结来说,这个资源提供了一个学习如何将SWFUpload与Struts2整合以实现优雅文件上传体验的实例。开发者可以通过研究这两个项目,了解前端文件上传组件与后端框架的交互,提升自己的Web开发技能。在实际应用中,可以...

    SWFloadup的一次尝试

    在整合SWFUpload与Struts1时,主要涉及以下几个步骤: 1. **引入依赖**:首先,你需要将SWFUpload的JavaScript和Flash文件引入到你的Web应用中,通常是放在项目的JS或Flash目录下,并在HTML页面中正确引用。 2. **...

    图片批量上传-转载

    7. **Struts1框架集成**:在Struts1中,需要配置Action来接收文件,处理文件上传的请求,并返回结果。 综上所述,这个话题主要涵盖了前端文件上传技术、后端文件处理逻辑以及如何在Java的Struts1框架中集成这一功能...

Global site tag (gtag.js) - Google Analytics