<!-- 多文件上传 -->
<action name="UploadAction2_*" class="uploadfile.UploadAction2" method="{1}">
<interceptor-ref name="defaultStack">
<!-- 允许文件类型 -->
<!-- <param name="fileUpload.allowedTypes">image/jpg,image/pjpeg,image/png</param> -->
<!-- 允许的文件后缀 -->
<param name="fileUpload.allowedExtensions">jpg,jpeg,gif,java,png</param>
</interceptor-ref>
<result name="success" type="dispatcher">../MyJsp.jsp</result>
</action>
public class UploadAction2 extends ActionSupport{

    //表单上提供的字段
private File[] myfile;
//struts2在文件上传时提供的属性
private String[] myfileFileName;//上传的文件名。上传字段名称+FileName 注意大小写
private String[] myfileContentType;//上传文件的MIME类型。上传字段名称+ContentType 注意大小写 public String upload(){ for (int i = 0; i < myfile.length; i++) {
String path= myfile[i].getAbsolutePath();
System.out.println("临时文件路径:"+path);
System.out.println("文件名:"+myfileFileName);
System.out.println("文件类型:"+myfileContentType);
}
//1.拿到ServletContext
ServletContext servletContext = ServletActionContext.getServletContext();
//2.调用realPath方法,获取根据一个虚拟目录得到的真实目录
String realPath = servletContext.getRealPath("/WEB-INF/file");
System.out.println(realPath);
//3.如果这个真实的目录不存在,需要创建
File file = new File(realPath );
if(!file.exists()){
file.mkdirs();
}
//4.把文件存过去
//拷贝:把文件的临时文件复制到指定的位置。注意:临时文件还在
//FileUtils.copyFile(myfile, new File(file,myfileFileName)); //剪切:把临时文件剪切指定的位置,并且给他重命名。 注意:临时文件没有了
for (int i = 0; i < myfile.length; i++) {
myfile[i].renameTo(new File(file,myfileFileName[i]));
}
return SUCCESS;
} public File[] getMyfile() {
return myfile;
}
public void setMyfile(File[] myfile) {
this.myfile = myfile;
}
public String[] getMyfileFileName() {
return myfileFileName;
}
public void setMyfileFileName(String[] myfileFileName) {
this.myfileFileName = myfileFileName;
}
public String[] getMyfileContentType() {
return myfileContentType;
}
public void setMyfileContentType(String[] myfileContentType) {
this.myfileContentType = myfileContentType;
}
}
  <form  action="hello/UploadAction2_upload.action" enctype="multipart/form-data" method="post">
文件1:<input name="myfile" value="请选择文件" type="file"><br>
文件2:<input name="myfile" value="请选择文件" type="file"><br>
<input type="submit" >
<form>

result:

struts2多文件上传-2的更多相关文章

  1. struts2的文件上传

    在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来 ...

  2. jsp\struts1.2\struts2 中文件上传(转)

    jsp\struts1.2\struts2 中文件上传 a.在jsp中简单利用Commons-fileupload组件实现 b.在struts1.2中实现c.在sturts2中实现现在把Code与大家 ...

  3. Struts2+Uploadify文件上传使用详解

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例是php版本的,本文将详细介绍Uploadify在java中的使用,您也可以点击下面的链接进行演示或下 ...

  4. Struts2 多文件上传

    Struts2多文件上传只需要将 单文件上传中的File变成File[]  即可,上篇文章:单文件上传 <form action="${pageContext.request.cont ...

  5. Struts2图片文件上传,判断图片格式和图片大小

    1. 配置Struts2能够上传的最大文件大小 使用Struts2进行文件上传的时候,Struts2默认文件大小最大为2MB,如果要传大一点的文件,就需要修改struts.xml配置文件,重新设置能够 ...

  6. Struts2实现文件上传下载功能(批量上传)

    今天来发布一个使用Struts2上传下载的项目, struts2为文件上传下载提供了好的实现机制, 首先,可以先看一下我的项目截图 关于需要使用的jar包,需要用到commons-fileupload ...

  7. Struts2实现文件上传(四)

    Struts2实现文件上传 配置文件struts.xml <!-- /* * $Id: struts.xml 1364077 2012-07-21 12:57:02Z lukaszlenart ...

  8. Struts2实现文件上传(三)

    Struts2实现文件上传 配置文件web.xml <?xml version="1.0" encoding="UTF-8"?> <web-a ...

  9. Struts2实现文件上传(二)

    Struts2实现文件上传 文件上传页面 file.jsp: <%@ page language="java" import="java.util.*" ...

  10. Struts2实现文件上传(一)

    Struts2实现文件上传 文件上传成功后结果页面 result.jsp: <%@ page language="java" import="java.util.* ...

随机推荐

  1. idea下使用Git基本操作(转载)

    IDEA中Git的更新.提交.还原方法: https://blog.csdn.net/geng31/article/details/78585557 IDEA中Git的提交到GitHub http:/ ...

  2. vue--使用vue-cli构建项目

    webpack是现在较流行的前端自动化工具,该工具可以帮助开发者打包代码,以减少需要手动的工作,可以提高开发效率. vue中提供了一个脚手架工具vue-cli,这个工具已经将webpack配置好了,使 ...

  3. English trip V2 - A 1. Fastival Teacher:Julia Key:

    In this lesson you will learn to talk about dates and times. 课上内容(Lesson) Tell your tutor about a fe ...

  4. 【Mysql】Mysql Json类型或Text类型可以建索引吗?

    一.JSON类型 答案是不可以 为Json类型建索引会报错 mysql)); ERROR (): JSON column 'card_pay_data' cannot be used in key s ...

  5. 【分布式搜索引擎】Elasticsearch分布式架构原理

    一.相关概念介绍 1)集群(cluster) 一个集群(cluster)由一个或多个节点组成. 这些节点具有相同的cluster.name,它们协同工作,分享数据和负载.当加入新的节点或者删除一个节点 ...

  6. android -------- Retrofit + RxJava2.0 + Kotlin + MVP 开发的 WanAndroid 项目

    简介 wanandroid项目基于 Retrofit + RxJava2.0 + Kotlin + MVP 用到的依赖 implementation 'io.reactivex.rxjava2:rxj ...

  7. CRM SALES ORDER ADD EEWB SEARCH FIELD

    1.找到对应的查询结构: T-code:GENIL_MODEL_BROWSER Component Set 输入'ONEORDER' 点击DISPLAY 展开Dynamic Query Object, ...

  8. JavaScript异步流程控制的前世今生

    Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous). 什么是同步编程 "同步模式"就是上一段的模式,后一个任务等待前 ...

  9. Centos 7 搭建FTP详细配置步骤方法

    vsftpd的安裝使用: ftp概述:FTP(File Transfer protocol,文件传输协议)是经典的C/S架构的应用层协议,需要有服务端软件,客户端软件两个部共同组成实现文件传输功能. ...

  10. MySQL 排名、分组后组内排名、取各组的前几名 及排名后更新插入数据表中

    一.排名 /*普通排名:从1开始,顺序往下排*/ AS rank ) r ORDER BY score; /*并列排名:相同的值是相同的排名*/ SELECT cs.* , CASE WHEN @p= ...