struts2文件上传1
<form action="hello/UploadAction_upload.action" enctype="multipart/form-data" method="post">
单文件上传:<input name="myfile" value="请选择文件" type="file"><br>
<input type="submit" >
<form>
public class UploadAction extends ActionSupport{
//表单上提供的字段
private File myfile;
//struts2在文件上传时提供的属性
private String myfileFileName;//上传的文件名。上传字段名称+FileName 注意大小写
private String myfileContentType;//上传文件的MIME类型。上传字段名称+ContentType 注意大小写
public String upload(){
String path= myfile.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));
//剪切:把临时文件剪切指定的位置,并且给他重命名。 注意:临时文件没有了
myfile.renameTo(new File(file,myfileFileName));
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;
}
}
<!-- 文件上传 -->
<action name="UploadAction_*" class="uploadfile.UploadAction" 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</param>
</interceptor-ref>
<result>../MyJsp.jsp</result>
</action>
result:

struts2文件上传1的更多相关文章
- 【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】
一.struts2文件上传 1.上传文件的时候要求必须使得表单的enctype属性设置为multipart/form-data,把它的method属性设置为post 2.上传单个文件的时候需要在Act ...
- springMvc 使用ajax上传文件,返回获取的文件数据 附Struts2文件上传
总结一下 springMvc使用ajax文件上传 首先说明一下,以下代码所解决的问题 :前端通过input file 标签获取文件,通过ajax与后端交互,后端获取文件,读取excel文件内容,返回e ...
- Struts2文件上传下载
Struts2文件上传 Struts2提供 FileUpload拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容,fileUpload拦截器 默认在defau ...
- Struts2文件上传和下载(原理)
转自:http://zhou568xiao.iteye.com/blog/220732 1. 文件上传的原理:表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值:1) ...
- struts2文件上传大小限制问题小结
一:首先看一下程序执行中出现的对应报错信息,如下所示: [WARN ] 2015-03-03 15:31:11 :Unable to parse request org.apache.commons. ...
- Struts2 文件上传
一:表单准备 ① 要想使用HTML 表单上传一个或多个文件 –须把 HTML表单的 enctype属性设置为multipart/form-data –须把HTML 表单的method ...
- JAVA Web 之 struts2文件上传下载演示(二)(转)
JAVA Web 之 struts2文件上传下载演示(二) 一.文件上传演示 详细查看本人的另一篇博客 http://titanseason.iteye.com/blog/1489397 二.文件下载 ...
- JAVA Web 之 struts2文件上传下载演示(一)(转)
JAVA Web 之 struts2文件上传下载演示(一) 一.文件上传演示 1.需要的jar包 大多数的jar包都是struts里面的,大家把jar包直接复制到WebContent/WEB-INF/ ...
- (八)Struts2 文件上传和下载
所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 文件上传 Struts2 文件上传基于Struts2 拦 ...
- struts2文件上传,文件类型 allowedTypes
struts2文件上传,文件类型 allowedTypes 1 '.a' : 'application/octet-stream', 2 '.ai' : 'application/postscript ...
随机推荐
- 联想E431 安装ubuntu16.04
http://jingyan.baidu.com/article/3c48dd348bc005e10be358eb.html 按照这个教程安装成功!!
- day18-python的正则表达式
1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...
- Java并发编程_volatile关键字的用法(二)
被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读的现象. 根据下面实例理解: package sync; public class VolatileTest e ...
- Java 面向对象的三大特性之一 继承
继承: Java是继承的三大特性之一,是Java中实现代码重用的手段之一 将重复的代码抽取到父类中继承的有点或者现实 优点: 方便修改代码 减少代码量 Java中继承的语法: 修饰符 SubClass ...
- 用swagger生成接口文档代码
1.Swagger2类: package com.example.demo; import com.google.common.base.Predicate; import io.swagger.an ...
- js 变量的声明能提升 初始化不会提升
var x = 5; // 初始化 x elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x + & ...
- java8 字符串转换 list long Integer
String ids= "1,2,3,4,5,6"; List<Long> listIds = Arrays.asList(ids.split("," ...
- android lombok 使用
把get /set / toString/hash/equal等方法从源文件中简化掉直接编译到二进制文件中 地址https://github.com/rzwitserloot/lombok 一 安装l ...
- fk makefile文件的一些问题
除了要按具神说的makefile修改之外,还发现了另外一个问题: 不然就改成SACLIB=-L/usr/local/sac/lib
- Linux 添加程序图标到开始菜单中
Linux平台的Ubuntu系统中,开始菜单中的程序都在/usr/share/applications/目录下,文件格式都是xxxx.desktop ========================= ...