struts2_10_单个文件的上传:

向lib下导入jar文件:commons-io-1.3.2.jar;该jar文件包含FileUtils类。

1)employeeAction中的代码为:

public class employeeAction {

	// 要上传的文件
	private File image;
	// 上传文件的文件名称,image为上传字段的名称,FileName为固定字段
	private String imageFileName;

	public String getImageFileName() {
		return imageFileName;
	}

	public void setImageFileName(String imageFileName) {
		this.imageFileName = imageFileName;
	}

	public File getImage() {
		return image;
	}

	public void setImage(File image) {
		this.image = image;
	}

	public String execute() throws Exception {
		// 得到上传后被保存的文件的真实路径
		String realpath = ServletActionContext.getServletContext().getRealPath("/images");
  // 在内部运行是输出真实路径以便查找文件
		System.out.println(realpath);
		if (image != null) {// 如果上传文件不为空
// 用realpath创建一个文件,把文件image赋给新创建的文件,保存为savefile文件
	File savefile = new File(new File(realpath), imageFileName);
  // 如果savefile 未创建成功,重新创建
  if (!savefile.getParentFile().exists()) {
				savefile.getParentFile().mkdir();
			}
			// 将savefile文件拷贝给image文件
			FileUtils.copyFile(image, savefile);
			// 向request中传入值,当上传成功时,在输出界面上显示
			ActionContext.getContext().put("message", "上传成功");
		}
		return "success";//跳转到Action
	}
}

1)输入界面的代码为:

 <body>
  <form action="<%=request.getContextPath()%>
   /employee/employee.action" enctype="multipart/form-data"
   method="post">
		 文件:<input type="file" name="image"/>
		 <input type="submit" value="上传"/>
  </form>
 </body>

1)输出界面的代码为:

 <body>
    ${message } <br>
  </body>

4)struts.xml文件配置:

<struts>

	<package name="employee" namespace="/employee"
  extends="struts-default">
		<action name="list*" class="employee.employeeAction"
  method="{1}">
			<result name="success">/message.jsp</result>
		</action>
	</package>
</struts>

(二)多个文件的上传:

struts.xml文件和输出层代码都与(一)中相同。

1)employeeAction中的代码:

public class employeeAction {
	private File[] image;
	private String[] imageFileName;

	public File[] getImage() {
		return image;
	}

	public void setImage(File[] image) {
		this.image = image;
	}

	public String[] getImageFileName() {
		return imageFileName;
	}

	public void setImageFileName(String[] imageFileName) {
		this.imageFileName = imageFileName;
	}

	public String execute() throws Exception {

		String realpath = ServletActionContext.getServletContext().getRealPath(
				"/images");
		System.out.println("文件存储路径:" + realpath);
		if (image != null) {
			File savedir = new File(realpath);
			if (!savedir.exists()) savedir.mkdirs();
			for (int i = 0; i < image.length; i++) {
				File savefile = new File(savedir, imageFileName[i]);
				FileUtils.copyFile(image[i], savefile);
			}
			ActionContext.getContext().put("message", "上传成功");
		}
		return "success";
	}

2)输入界面的代码:

<form
		action="<%=request.getContextPath()%>/employee/listexecute.
  action" enctype="multipart/form-data" method="post">
		<!-- 文件类型相同; name的值相同 , 且等于Action中的属性值 -->
		文件1:<input type="file" name="image" /><br>
		文件2:<input type="file" name="image" /><br>
		文件3:<input type="file" name="image" /><br>
		<input type="submit" value="上传" />
</form>

时间: 2025-01-08 11:53:27

struts2_10_单个文件的上传:的相关文章

WebApi实现单个文件的上传下载

上传和下载是很常用的功能了,只有当用到的时候才发现不会写...,经过一番百度.筛选.整理修改后,实现了功能,下面简单的记录下实现方法. 一.上传功能 1.前端代码 上传文件 <input type="file" id="file" /> <input type="button" id="upload" value="上传文件" /> <script> //上传 $(&qu

web文件上传一学习记录 (简单的web浏览器可读文件的上传,servlet 文件上传)

文件上传:这里用得时表单上传的方式,表单上传到的时候 method一定指定为POST,enctype="multipart/form-data". 第一种方式,直接上传.读取.显示内容,并没有存储到服务器端. 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.g

HTML5 文件域+FileReader 分段读取文件并上传(七)-WebSocket

一.单文件上传实例 HTML: <div class="container"> <div class="panel panel-default"> <div class="panel-heading">分段读取文件:</div> <div class="panel-body"> <input type="file" id="file

单个input框上传多个文件操作

HTML页面: 1 <div class="form-group thumb"> 2 <label class="control-label col-xs-12 col-sm-3 no-padding-right" for="info">产品图片上传:</label> 3 4 <div class="col-xs-12 col-sm-9" style="width:25%;&

文件的上传

上传: 1). 表单需要注意的 3 点 2). Struts2 的文件上传实际上使用的是 Commons FileUpload 组件, 所以需要导入 commons-fileupload-1.3.jarcommons-io-2.0.1.jar 3). Struts2 进行文件上传需要使用 FileUpload 拦截器 4). 基本的文件的上传: 直接在 Action 中定义如下 3 个属性, 并提供对应的 getter 和 setter //文件对应的 File 对象private File [

smartupload实现文件的上传、下载

package com.yc.util; import java.io.IOException; import java.sql.SQLException; import java.util.Collection; import java.util.Date; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Random; import javax.ser

文件的上传与下载案例

要求: 提供文件上传,上传大小有要求 有页面显示已上传列表 可以在上传列表中去下载文件 首先是jsp页面,一个是主页面,是否,有两个选择--上传和下载列表 代码如下:(index.jsp) <body> <a href="${pageContext.request.contextPath }/demo/upload.jsp">文件上传</a>   <a href="${pageContext.request.contextPath }

[原创]java WEB学习笔记72:Struts2 学习之路-- 文件的上传下载,及上传下载相关问题

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

带进度条的文件批量上传插件uploadify

有时项目中需要一个文件批量上传功能时,个人认为uploadify是快速简便的解决方案. 先上效果图: 一. 下载uploadify 从官网下载uploadify的Flash版本(Flash版本免费,另一版本HTML5版本需要付费) 下载地址: http://www.uploadify.com/download/ 下载后直接把文件解压,然后放在项目中 二. 在项目中使用 在页面中引入: <!--引入Jquery--> <script src="js/jquery-1.11.3.m