struts2多文件上传-2
<!-- 多文件上传 -->
<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的更多相关文章
- struts2的文件上传
在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来 ...
- jsp\struts1.2\struts2 中文件上传(转)
jsp\struts1.2\struts2 中文件上传 a.在jsp中简单利用Commons-fileupload组件实现 b.在struts1.2中实现c.在sturts2中实现现在把Code与大家 ...
- Struts2+Uploadify文件上传使用详解
Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例是php版本的,本文将详细介绍Uploadify在java中的使用,您也可以点击下面的链接进行演示或下 ...
- Struts2 多文件上传
Struts2多文件上传只需要将 单文件上传中的File变成File[] 即可,上篇文章:单文件上传 <form action="${pageContext.request.cont ...
- Struts2图片文件上传,判断图片格式和图片大小
1. 配置Struts2能够上传的最大文件大小 使用Struts2进行文件上传的时候,Struts2默认文件大小最大为2MB,如果要传大一点的文件,就需要修改struts.xml配置文件,重新设置能够 ...
- Struts2实现文件上传下载功能(批量上传)
今天来发布一个使用Struts2上传下载的项目, struts2为文件上传下载提供了好的实现机制, 首先,可以先看一下我的项目截图 关于需要使用的jar包,需要用到commons-fileupload ...
- Struts2实现文件上传(四)
Struts2实现文件上传 配置文件struts.xml <!-- /* * $Id: struts.xml 1364077 2012-07-21 12:57:02Z lukaszlenart ...
- Struts2实现文件上传(三)
Struts2实现文件上传 配置文件web.xml <?xml version="1.0" encoding="UTF-8"?> <web-a ...
- Struts2实现文件上传(二)
Struts2实现文件上传 文件上传页面 file.jsp: <%@ page language="java" import="java.util.*" ...
- Struts2实现文件上传(一)
Struts2实现文件上传 文件上传成功后结果页面 result.jsp: <%@ page language="java" import="java.util.* ...
随机推荐
- javax.servlet-api 和 servlet-api 区别
作者:Night Silent链接:https://www.zhihu.com/question/35812310/answer/64578510来源:知乎著作权归作者所有.商业转载请联系作者获得授权 ...
- [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world
[大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world 原文链接:http://www.cnblogs.com/blog5277/ ...
- 要想成为前端大神,那些你不得不知晓的web前端命名规范。
一.Web语义化 1.1 H5的语义化 对于经验资深的前端er,在给web布局时,相信都会很注重标签和命名的规范.尤其是随着html5的普及发展,更是把web前端语义化推向一个新的台阶上.比如html ...
- 2018 German Collegiate Programming Contest (GCPC 18)
2018 German Collegiate Programming Contest (GCPC 18) Attack on Alpha-Zet 建树,求lca 代码: #include <al ...
- Kafka学习之二 Kafka安装和使用
部署环境Linux(Centos 6.5),JDK 1.8.0,zookeeper-3.4.12,kafka_2.11-2.0.0. 1. 单机环境 官方建议使用JDK 1.8版本,因此本文使 ...
- week7 ls
week7 ls 实现ls: 实现ls -l:
- ranch 源码分析(一)
以前写了一个ranch的处理流程,http://www.cnblogs.com/tudou008/p/5197314.html ,就只有一张图,不是很清晰,现在有空做个源码分析. ranch的源码(版 ...
- http与rfc
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接 ...
- Lua 语言变量
Lua 变量 变量在使用前,必须在代码中进行声明,即创建该变量.编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值. Lua 变量有三种类型:全局变量.局部变量.表中的域. ...
- cookie,session和token的概念以及区别
cookie: 采用客户端保存状态的方案: cookie的组成:名字,值过去时间,路径以及域: 没有设置时间:随着浏览器的打开和关闭决定: 设置了时间:浏览器就会把cookie保存在硬盘上,根据时间来 ...