`
雨辰RainTime
  • 浏览: 113467 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts1 文件上传 FormFile

阅读更多
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<html:html>
<html:form action="/myAction.do" enctype="multipart/form-data">
<html:file property="theFile"/>
<html:submit/>
</html:form>
</html:html>

package com.j2ee.zz.action;

import org.apache.struts.action.*;
import javax.servlet.http.*;
import com.j2ee.zz.actionform.*;
import org.apache.struts.upload.*;
import java.io.*;

public class myAction extends Action {
  public ActionForward perform(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) {
    /**@todo: complete the business logic here, this is just a skeleton.*/
    myActionForm myActionForm = (myActionForm) actionForm;
    if(actionForm instanceof myActionForm){
      String encoding = request.getCharacterEncoding();
      if(encoding != null && encoding.equalsIgnoreCase("UTF-8")){
        response.setContentType("text/html; charset=gb2312");
      }
      FormFile file = myActionForm.getTheFile();
      try{
        InputStream input = file.getInputStream();
        String path = request.getRealPath("/");
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        OutputStream out = new FileOutputStream(path+"/"+file.getFileName());

        System.out.println(path+"/"+file.getFileName());
        int i = 0;
        byte[] buff = new byte[8192];
        while((i = input.read(buff, 0, 8192)) != -1){
          out.write(buff,0,i);
        }
        out.close();
        input.close();
      }catch(Exception ex){
        System.out.println(ex.getMessage());
      }
      return actionMapping.findForward("succ");
    }
    return null;

  }
}

package com.j2ee.zz.actionform;


import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.*;
import org.apache.struts.upload.*;

/**
 * <p>Title:UpLoadForm</p>
 * <p>Description: QRRSMMS </p>
 * <p>Copyright: Copyright (c) 2004 jiahansoft</p>
 * <p>Company: jiahansoft</p>
 * @author wanghw
 * @version 1.0
 */

public class myActionForm extends ActionForm {
  public static final String ERROR_PROPERTY_MAX_LENGTH_EXCEEDED = "org.apache.struts.webapp.upload.MaxLengthExceeded";
  protected FormFile theFile;
  public FormFile getTheFile() {
      return theFile;
  }
  public void setTheFile(FormFile theFile) {
      this.theFile = theFile;
  }
  public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
  {
      ActionErrors errors = null;
      //has the maximum length been exceeded?
      Boolean maxLengthExceeded = (Boolean)
              request.getAttribute(MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED);
      if ((maxLengthExceeded != null) && (maxLengthExceeded.booleanValue()))
      {
          errors = new ActionErrors();
          errors.add(ERROR_PROPERTY_MAX_LENGTH_EXCEEDED, new ActionError("maxLengthExceeded"));
      }
      return errors;

  }
}



分享到:
评论

相关推荐

    struts 单文件上传和多文件上传带进度条

    在Struts中,可以实现单文件和多文件的上传,并且为了提升用户体验,我们还可以添加进度条来显示文件上传的状态。本文将详细介绍如何在Struts中实现这两个功能,并带上传进度条。 首先,我们需要了解Struts中处理...

    Struts1文件上传、单文件、多文件上传(上传文件大小问题,如何设置无限制)

    ### Struts1 文件上传知识点详解 #### 一、概述 在Web开发中,文件上传是一项常见功能。Apache Struts框架提供了强大的支持来进行文件上传。本文将详细介绍如何在Struts1中实现单文件上传和多文件上传,并探讨如何...

    struts1实现文件上传

    ### Struts1 实现文件上传的关键技术点 在Struts1框架中实现文件上传功能是一项常见但又具有一定技术挑战的任务。下面将详细解析文件上传的实现过程,包括关键类的使用、文件处理逻辑以及异常处理等方面。 #### ...

    基于Struts文件上传(FormFile)详解

    基于Struts文件上传(FormFile)详解 Struts是一个基于Java的Web应用程序框架,提供了许多有用的功能来简化Web开发过程。其中,文件上传是Struts中一个非常重要的功能。本文将详细介绍基于Struts文件上传的实现方法,...

    struts框架中formFile批量上传图片

    在Struts框架中,`FormFile`类是用于处理文件上传的一个关键组件,特别是对于单个或批量上传图片的情况。本篇文章将详细探讨如何使用Struts的`FormFile`来实现批量上传图片的功能。 ### 1. FormFile概述 `FormFile`...

    Struts1实现的文件上传

    在这个“Struts1实现的文件上传”项目中,我们将深入探讨如何在Struts1框架下实现文件上传功能,并不涉及文件下载的部分。 首先,理解文件上传的基本流程是至关重要的。在Web应用中,用户通过HTML表单选择本地文件...

    struts1上传文件带进度条

    Struts1使用了`org.apache.struts.upload.FormFile`类来处理文件上传。当用户提交包含文件的表单时,服务器端的ActionForm会接收到这个FormFile对象,通过它获取到文件的内容和元数据。然而,原生的Struts1并不支持...

    struts 文件上传 Struts实现文件上传

    Struts 提供了强大的支持来处理文件上传操作。下面将详细介绍Struts 实现文件上传的相关知识点。 ### 1. Struts 框架概述 Struts 是Apache软件基金会下的一个开源项目,其主要目标是提供一个可扩展且易于维护的...

    struts1的文件上传

    本文将深入探讨Struts1中的文件上传,包括单文件上传、多文件上传,以及解决文件名乱码和重名冲突等问题。 1. **文件上传基础** 文件上传是Web应用中常见的一种功能,允许用户从本地电脑上传文件到服务器。在...

    struts2文件上传下载

    在Struts2框架中实现文件上传和下载功能,是Web开发中常见的需求。Struts2作为一个成熟的MVC框架,提供了简单的API和标记库来处理文件上传下载的业务逻辑。下面是基于给定文件内容的知识点详细说明。 ### Struts2...

    解决struts组件上传附件速度很慢的问题

    在使用Struts处理文件上传时,有时可能会遇到附件上传速度缓慢的问题。这个问题通常不是由于Struts框架本身引起的,而是与浏览器、网络环境以及服务器配置有关。特别是对于使用IE6的用户,由于其上传机制的限制,...

    struts1文件上传的例子

    在这个"struts1文件上传的例子"中,我们将深入探讨如何在Struts1框架下实现文件上传的功能。 首先,文件上传在Web开发中是一个常见的需求,例如用户可能需要上传图片、文档或其他类型的文件。在Struts1中,这通常...

    Struts1.2 formfile实现批量上传

    在Struts1.2框架中,FormFile是用于处理文件上传的一个关键组件,尤其是在实现批量上传功能时。本文将深入探讨如何使用FormFile在Struts1.2中实现实现批量文件上传,以及相关的技术要点。 一、Struts1.2简介 Struts...

    基于struts的文件上传下载源代码

    在本"基于Struts的文件上传下载源代码"中,我们可以深入理解Struts如何处理文件上传和下载操作,这对于初学者来说是一个非常实用的学习资源。 首先,文件上传在Web应用中是常见的功能,它允许用户从本地计算机选择...

    struts多文件上传

    在Struts1.2版本中,实现多文件上传是一项常见的需求,它允许用户在一次提交中上传多个文件,这对于数据交互、资源分享等场景非常实用。在本教程中,我们将深入探讨如何在Struts1.2中实现这一功能。 首先,理解多...

    jsp+struts文件上传

    在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)和Struts框架实现文件上传功能。这是一个在Web开发中常见的需求,特别是在处理用户提交的数据时。Struts是一个基于MVC(Model-View-Controller)设计模式的...

    struts1实现的文件批量上传

    在Struts1中实现文件上传,我们需要考虑前端的HTML表单、ActionForm、Struts配置文件以及后台的Action处理。 首先,前端实现是通过一个支持多文件选择的HTML表单来完成的。表单需要设置`enctype="multipart/form-...

    struts1实现文件上传和下载

    在Struts1中,文件上传主要通过`org.apache.struts.upload.FormFile`类来完成。在给定的代码片段中,`FileAction`类继承自`DispatchAction`,这是Struts1中用于处理不同请求的基类。`upLoadFile`方法是处理文件上传...

    struts1上传多个文件同时

    在处理文件上传时,Struts1提供了相应的支持,但默认情况下,它只能处理单个文件的上传。要实现多个文件的同时上传,我们需要利用一些额外的工具或库来扩展Struts1的功能。 在描述中提到的"jquery multi"可能是指...

Global site tag (gtag.js) - Google Analytics