前台form 表单:设置method=post,enctype=multipart/form-data。

struts2在原有的上传解析器继承上做了进一步封装,更进一步简化了文件上传。
Action需要使用3个属性来封装该文件域的信息:
(1)类型为File的*属性封装了该文件域对应的文件内容;
(2)类型为String的***FileName属性封装了该文件域对应的文件的文件类型;
(3)类型为String的***ContentType属性封装了该文件域对应的文件的类型。
具体实现:
新建web项目
添加struts2相关包
myeclipse可直接下载,右击项目,如下。
前台
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<body>
<form action="upload.action" method="post" enctype="multipart/form-data">
<input type="file" name="upload" multiple="multiple"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>UploadFile</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> </web-app>
配置struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
<constant name="struts.devMode" value="true"/>
<constant name="struts.multipart.saveDir" value="/tmp"/>
<constant name="struts.custom.i18n.resources" value="app"></constant>
<package name="default" namespace="/" extends="struts-default">
<action name="upload" class="com.yf.action.UploadAction">
<result>/index.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
</package>
</struts>
后台代码
public class UploadAction extends ActionSupport{
private List<File> upload;
private List<String> uploadContentType;
private List<String> uploadFileName;
public List<File> getUpload() {
return upload;
}
public void setUpload(List<File> upload) {
this.upload = upload;
}
public List<String> getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(List<String> uploadContentType) {
this.uploadContentType = uploadContentType;
}
public List<String> getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(List<String> uploadFileName) {
this.uploadFileName = uploadFileName;
}
@Override
public String execute() throws Exception {
//文件保存路径
String path = ServletActionContext.getServletContext().getRealPath("/images");
File file = new File(path);
//不存在则创建
if(!file.exists()){
file.mkdir();
}
//循环将文件上传到指定路径
for(int i = 0; i< upload.size(); i++){
FileUtils.copyFile(upload.get(i), new File(file,uploadFileName.get(i)));
}
return SUCCESS;
}
结果如下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Struts2多文件上传
# Struts2上传
# Struts2文件上传
# java中struts2实现文件上传下载功能实例解析
# struts2单个文件上传的两种实现方式
# Java以struts2为例介绍如何实现图片上传
# struts2中实现多个文件同时上传代码
# 关于Struts2文件上传与自定义拦截器
# Struts2+jquery.form.js实现图片与文件上传的方法
# JavaWeb中struts2实现文件上传下载功能实例解析
# JavaEE中struts2实现文件上传下载功能实例解析
# java中struts2实现简单的文件上传与下载
# struts2+jsp实现文件上传的方法
# 该文件
# 装了
# 文件上传
# 不存在
# 表单
# 上做
# 大家多多
# 右击
# 上传
# 可直接下载
# 在原有
# 简化了
# multiple
# file
# type
# submit
# version
# xml
# input
# body
相关文章:
如何通过.red域名打造高辨识度品牌网站?
建站主机选虚拟主机还是云服务器更好?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
建站之星代理平台如何选择最佳方案?
专业网站建设制作报价,网页设计制作要考什么证?
如何用虚拟主机快速搭建网站?详细步骤解析
如何高效配置香港服务器实现快速建站?
建站主机如何选?高性价比方案全解析
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
深圳网站制作的公司有哪些,dido官方网站?
,怎么在广州志愿者网站注册?
在线制作视频网站免费,都有哪些好的动漫网站?
再谈Python中的字符串与字符编码(推荐)
如何在Golang中指定模块版本_使用go.mod控制版本号
创业网站制作流程,创业网站可靠吗?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
淘宝制作网站有哪些,淘宝网官网主页?
python的本地网站制作,如何创建本地站点?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
广州建站公司哪家好?十大优质服务商推荐
如何选择靠谱的建站公司加盟品牌?
实例解析Array和String方法
如何通过FTP服务器快速搭建网站?
如何快速搭建自助建站会员专属系统?
c# 在高并发场景下,委托和接口调用的性能对比
建站之星官网登录失败?如何快速解决?
家庭建站与云服务器建站,如何选择更优?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
建站之星收费标准详解:套餐费用及年费价格表一览
重庆市网站制作公司,重庆招聘网站哪个好?
网站制作软件有哪些,制图软件有哪些?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
如何快速配置高效服务器建站软件?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
西安专业网站制作公司有哪些,陕西省建行官方网站?
C++如何编写函数模板?(泛型编程入门)
内部网站制作流程,如何建立公司内部网站?
c++怎么用jemalloc c++替换默认内存分配器【性能】
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
定制建站是什么?如何实现个性化需求?
如何快速搭建高效WAP手机网站?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
详解jQuery中基本的动画方法
建站之星ASP如何实现CMS高效搭建与安全管理?
教程网站设计制作软件,怎么创建自己的一个网站?
小程序网站制作需要准备什么资料,如何制作小程序?
如何通过网站建站时间优化SEO与用户体验?
南平网站制作公司,2025年南平市事业单位报名时间?
*请认真填写需求信息,我们会在24小时内与您取得联系。