前台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
相关文章:
如何在Windows 2008云服务器安全搭建网站?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
建站之星如何实现网站加密操作?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
测试制作网站有哪些,测试性取向的权威测试或者网站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
如何选择香港主机高效搭建外贸独立站?
建站之星安装后如何自定义网站颜色与字体?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
建站之星后台密码遗忘如何找回?
如何通过VPS建站无需域名直接访问?
如何在Golang中使用replace替换模块_指定本地或远程路径
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
文字头像制作网站推荐软件,醒图能自动配文字吗?
建站主机服务器选购指南:轻量应用与VPS配置解析
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何安全更换建站之星模板并保留数据?
网页设计网站制作软件,microsoft office哪个可以创建网页?
建站之星导航菜单设置与功能模块配置全攻略
香港服务器网站推广:SEO优化与外贸独立站搭建策略
香港服务器选型指南:免备案配置与高效建站方案解析
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
javascript基本数据类型及类型检测常用方法小结
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
建站之星收费标准详解:套餐费用及年费价格表一览
如何做静态网页,sublimetext3.0制作静态网页?
详解jQuery中基本的动画方法
如何在橙子建站中快速调整背景颜色?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
建站之星如何修改网站生成路径?
想学网站制作怎么学,建立一个网站要花费多少?
如何彻底删除建站之星生成的Banner?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何快速生成橙子建站落地页链接?
高防服务器租用如何选择配置与防御等级?
C++如何编写函数模板?(泛型编程入门)
阿里云网站制作公司,阿里云快速搭建网站好用吗?
高端网站建设与定制开发一站式解决方案 中企动力
免费网站制作appp,免费制作app哪个平台好?
建站之星免费模板:自助建站系统与智能响应式一键生成
XML的“混合内容”是什么 怎么用DTD或XSD定义
黑客如何通过漏洞一步步攻陷网站服务器?
如何用VPS主机快速搭建个人网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。