<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的更多相关文章

  1. 【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】

    一.struts2文件上传 1.上传文件的时候要求必须使得表单的enctype属性设置为multipart/form-data,把它的method属性设置为post 2.上传单个文件的时候需要在Act ...

  2. springMvc 使用ajax上传文件,返回获取的文件数据 附Struts2文件上传

    总结一下 springMvc使用ajax文件上传 首先说明一下,以下代码所解决的问题 :前端通过input file 标签获取文件,通过ajax与后端交互,后端获取文件,读取excel文件内容,返回e ...

  3. Struts2文件上传下载

    Struts2文件上传 Struts2提供 FileUpload拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容,fileUpload拦截器 默认在defau ...

  4. Struts2文件上传和下载(原理)

    转自:http://zhou568xiao.iteye.com/blog/220732 1.    文件上传的原理:表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值:1)     ...

  5. struts2文件上传大小限制问题小结

    一:首先看一下程序执行中出现的对应报错信息,如下所示: [WARN ] 2015-03-03 15:31:11 :Unable to parse request org.apache.commons. ...

  6. Struts2 文件上传

    一:表单准备 ① 要想使用HTML 表单上传一个或多个文件     –须把 HTML表单的 enctype属性设置为multipart/form-data     –须把HTML 表单的method ...

  7. JAVA Web 之 struts2文件上传下载演示(二)(转)

    JAVA Web 之 struts2文件上传下载演示(二) 一.文件上传演示 详细查看本人的另一篇博客 http://titanseason.iteye.com/blog/1489397 二.文件下载 ...

  8. JAVA Web 之 struts2文件上传下载演示(一)(转)

    JAVA Web 之 struts2文件上传下载演示(一) 一.文件上传演示 1.需要的jar包 大多数的jar包都是struts里面的,大家把jar包直接复制到WebContent/WEB-INF/ ...

  9. (八)Struts2 文件上传和下载

    所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 文件上传 Struts2 文件上传基于Struts2 拦 ...

  10. struts2文件上传,文件类型 allowedTypes

    struts2文件上传,文件类型 allowedTypes 1 '.a' : 'application/octet-stream', 2 '.ai' : 'application/postscript ...

随机推荐

  1. Java反射《三》获取属性

    package com.study.reflect; import java.lang.reflect.Field; /** * 反射,获取属性 * @ClassName: FieldDemo * @ ...

  2. [POJ2761]Feed the dogs

    Problem 查询区间第k大,但保证区间不互相包含(可以相交) Solution 只需要对每个区间左端点进行排序,那它们的右端点必定单调递增,不然会出现区间包含的情况. 所以我们暴力对下一个区间加上 ...

  3. mybatis 插入空值时报错 TypeException

    报错内容:nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ...

  4. C#中三层架构UI、BLL、DAL、Model实际操作

    三层架构分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL)再加上实体类库(Model) 转载请注明出自朱朱家园https://blog.csdn.net/zhgl7688 1.实体类库( ...

  5. connection reset 分析解决(转载)

    文章转自:https://my.oschina.net/xionghui/blog/508758;记录下来以便以后复习查阅; 在使用HttpClient调用后台resetful服务时,“Connect ...

  6. request 的上传文件

    前言:注册接口需要上次头像,fiddle抓的接口如图,这个时候就需要用到:files 2,举例说明 a:有一个上传接口,地址如下:http://xx.xx.xx.xx//upload/stream b ...

  7. python分析nginx自定义日志

    # -*- coding:utf-8 -*- import datetimeimport re logfile = '''192.168.23.43 - 2017-12-14:00:14:41 /se ...

  8. Vuejs 用$emit 与 $on 来进行兄弟组件之间的数据传输

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. ChinaCock界面控件介绍-CCGridPictureEditor

    CCGridPictureEditor如其名,网格图片编辑控件,实现利用一个网格来显示多张图片的缩略图,这是一个非常实用的控件,实现类似微信朋友圈中发布多张图片的功能. 在没有这个控件之前,我都是用D ...

  10. binarysearchtree

    public class binarytree<Value> { private Node root = null; private class Node{ private Value v ...