`

struts1上传多个文件

阅读更多

html:

注意:<form action="*"  mothed="post" enctype="multipart/form-data">的设置

action类:

package test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Hashtable;
import java.util.Iterator;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

public class UploadFileSampAction extends Action {

 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {

  // 获得上传的文件信息
  Hashtable fileh = form.getMultipartRequestHandler().getFileElements();
  String dirPath = getServlet().getServletContext().getRealPath("/")
    + "upload";

  if (fileh != null) {
   // 如果目录不存在,则创建
   File fpath = new File(dirPath);
   if (!fpath.exists()) {
    fpath.mkdir();
   }
   // 解析上传文件
   for (Iterator it = fileh.keySet().iterator(); it.hasNext();) {
    String key = (String) it.next();
    try {
     FormFile formfile = (FormFile) fileh.get(key);
     String filename = formfile.getFileName().trim(); // 文件名
     if (!"".equals(filename)) {

      InputStream ins = formfile.getInputStream();
      OutputStream os = new FileOutputStream(dirPath
        + File.separatorChar + filename);
      System.out.println("=======file dirPath========="
        + dirPath);
      System.out.println("=======file separatorChar========="
        + File.separatorChar);
      System.out.println("=======file filename========="
        + filename);
      int bytesRead = 0;
      byte[] buffer = new byte[8192];
      while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
       os.write(buffer, 0, bytesRead);
      }
      os.close();
      ins.close();

     }
    } catch (Exception ex) {
     ex.printStackTrace();
    }
   }
  }

  return mapping.findForward("success");
 }
}

struts-config.xml配置:

<?xml version="1.0" encoding="gb2312" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
 <form-beans>
   <form-bean type="test.UploadFileSample"/>
 </form-beans>
 
  <action-mappings>

  <action    path="/uploadfile"
       type="test.UploadFileSampAction"
      
       scope="request">
   <forward     path="/test.html"/>
  </action>

  </action-mappings>


</struts-config>

 

web.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
   
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
         <init-param>
         <param-name>config</param-name>
         <param-value>
     /WEB-INF/struts-config.xml
    </param-value>
      </init-param>
     <load-on-startup>2</load-on-startup>
    </servlet>

 <servlet-mapping>
     <servlet-name>action</servlet-name>
     <url-pattern>*.do</url-pattern>
 </servlet-mapping>


</web-app>

以上是主要的代码以及配置,最后需要部署到应用服务器上运行试试!!祝大家好运。

分享到:
评论

相关推荐

    struts1上传多个文件同时

    要实现多个文件的同时上传,我们需要利用一些额外的工具或库来扩展Struts1的功能。 在描述中提到的"jquery multi"可能是指jQuery的某个插件,用于实现前端的多文件选择和预览,例如`jQuery Multi File Uploader`或`...

    一个Struts1多文件上传实例(附Form中传List示例)

    本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将深入讨论以下几个关键知识点: 1. **Struts1框架基础**: Struts...

    Struts2多个文件上传

    本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的依赖库。主要需要两个Apache Commons库:`commons-fileupload-1.2.2.jar`和`...

    struts2实现的多个文件上传

    下面将详细阐述如何使用Struts2来实现多个文件的上传。 首先,理解文件上传的基本原理。在HTTP协议中,文件上传通常通过multipart/form-data编码类型来实现。这种编码方式将表单数据分割成多个部分,每部分包含一个...

    struts2实现多文件上传下载

    1.能够对多个文件进行上传(可以选择上传文件个数,也即上传文件个数不定) 2.能够对上传路径进行配置文件指定(upload.properties),使用了一些类似单例模式的静态代码块 3.Struts2进行下载处理,能对上传的所有...

    使用struts1.x上传多个文件的一中方法

    下面我们将详细介绍如何使用Struts1.x来实现多个文件的上传。 首先,我们需要在HTML表单中添加`&lt;input type="file"&gt;`元素,允许用户选择多个文件。在HTML5中,可以使用`multiple`属性来支持选取多个文件: ```html...

    struts1实现文件上传

    综上所述,Struts1中的文件上传功能实现涉及到多个核心组件和技术点的综合运用。开发者需要对Struts1框架有深入的理解,并熟练掌握相关API的使用方法。此外,在实际开发过程中还需要注意安全性问题,比如防止恶意...

    struts1 多个文件上传

    这篇内容将深入探讨Struts1中的单个文件上传和多个文件上传的实现机制。 首先,我们来看单个文件上传。在Struts1中,要实现文件上传,你需要在表单中包含一个`&lt;input type="file"&gt;`标签,并在ActionForm中创建对应...

    struts1实现的文件批量上传

    在本文中,我们将探讨如何使用Struts1框架实现文件的批量上传功能。Struts1是一个经典的Java Web应用程序框架,它提供了模型-视图-控制器(MVC)架构,用于构建动态Web应用。在Struts1中实现文件上传,我们需要考虑...

    Struts2实现单个文件多个文件上传与下载-多个拦截器

    本项目主要展示了如何在Struts2框架下实现单个文件和多个文件的上传及下载,并且运用了多个拦截器来增强功能和安全性。 首先,让我们详细了解一下文件上传的过程。在Struts2中,文件上传主要依赖于`struts2-...

    struts1.x多文件上传

    总的来说,Struts1.x的多文件上传功能通过合理的表单设计、框架配置和后端处理,可以方便地实现用户在Web应用中上传多个文件。然而,随着技术的发展,现在的Web应用更多地转向了Spring MVC等更现代的框架,它们提供...

    Struts1实现的文件上传

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

    struts上传多文件

    在实际应用中,有时我们需要同时上传多个文件,这在Struts中是可以实现的。本篇文章将深入讲解如何在Struts框架中实现多文件上传。 首先,了解Struts2文件上传的基本原理。Struts2使用了Apache的Commons FileUpload...

    struts1.2实现动态多文件上传

    在Struts1.2中实现动态多文件上传是一项常见的需求,它允许用户在一次提交中上传多个文件,如图片、文档等。这项功能的实现涉及前端表单设计、后端处理逻辑以及文件存储策略。 首先,我们需要创建一个HTML或JSP页面...

    struts2实现多文件上传功能

    通过组合使用Struts2的配置、Action类和HTML表单,我们可以轻松地处理多个文件的上传操作。这个过程中的关键知识点包括:Struts2拦截器、文件上传配置、Action类设计、HTML表单的构建以及服务器端的文件处理逻辑。

    用struts上传多个文件的方法

    本文将详细解析如何使用Struts框架实现多文件上传的功能,并对相关的代码进行深入分析。 #### 一、Struts框架简介 Struts是一款开源的Java MVC(Model-View-Controller)框架,它简化了Web应用程序的开发过程,...

    Struts2实现多个文件上传

    在Struts2中实现多个文件上传是一项常见的需求,尤其在处理用户需要上传多张图片或者文档的场景下。本篇文章将详细讲解如何利用Struts2实现这个功能,并纠正描述中提到的一个小错误。 首先,我们要明白文件上传的...

    swfuplaod+struts2实现多文件上传

    1. **多文件选择**:用户可以在不刷新页面的情况下选择多个文件进行上传。 2. **文件预览**:用户可以在上传前预览选定的文件。 3. **进度条显示**:在文件上传过程中显示进度,提升用户体验。 4. **文件大小限制**...

    struts1 文件上传 文件下载

    下面将详细介绍如何使用Struts1实现文件上传和下载,以及涉及到的关键知识点。 **一、文件上传** 1. **表单配置**:在HTML表单中,我们需要使用`&lt;input type="file"&gt;`标签让用户选择要上传的文件。同时,表单需要...

    struts2实现文件上传下载

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java ...以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目需求进行调整和优化,确保功能的稳定性和安全性。

Global site tag (gtag.js) - Google Analytics