和单个文件上传配置都是一样的,只是在action中接受参数时候,接受的是数组,不再是单个的文件。

一,action的实现:

public class MutableFilesUpload extends ActionSupport {private static final long serialVersionUID = 1L;public File[] uploadObjects;public String[] uploadObjectsFileName;public String[] uploadObjectsContentType;public String moreInfo;public String upload() {System.out.println(moreInfo);// 1.拿到ServletContextServletContext servletContext = ServletActionContext.getServletContext();// 2.调用realPath方法,获取根据一个虚拟目录得到的真实目录String realPath = servletContext.getRealPath("/files");// 3.如果这个真实的目录不存在,需要创建File file = new File(realPath);if (!file.exists()) {file.mkdirs();}// 4.把文件存过去// 剪切:把临时文件剪切指定的位置,并且给他重命名。 注意:临时文件没有了for (int i = 0; i < uploadObjects.length; i++) {System.out.println("one file name: " + uploadObjectsFileName[i]);uploadObjects[i].renameTo(new File(file, uploadObjectsFileName[i]));}return SUCCESS;}}

  

二,配置action

<action name="mutable_uploads" class="gy.upload.MutableFilesUpload" method="upload"><!-- 指定(限制)上传文件的类型,定义局部拦截器,修改默认拦截器的属性 "fileUpload.maximumSize" :限制上传最大的文件大小。 "fileUpload.allowedTypes":允许上传文件的类型。 "fileUpload.allowedExtensions":允许上传文件的可扩展文件类型。 --><interceptor-ref name="defaultStack"><param name="fileUpload.maximumSize">500000000</param><param name="fileUpload.allowedTypes">text/plain,application/vnd.ms-powerpoint</param><param name="fileUpload.allowedExtensions">.txt,.ppt</param></interceptor-ref><result>/success.html</result><!-- 出现错误自动会返回input结果,进入结果视图 --><result name="input">/fail.html</result>
</action>

三,表单的实现

<body><form action="mutable_uploads" method="post"enctype="multipart/form-data">文件:<br> <input type="file" name="uploadObjects"><br><input type="file" name="uploadObjects"><br> more info:<input type="text" name="moreInfo"><br><input type="submit" value="提交"><br></form>
</body>

  

  

转载于:https://www.cnblogs.com/yangzigege/p/9462390.html

(27) java web的struts2框架的使用-基于表单的多文件上传相关推荐

  1. Web后端学习笔记 Flask(8) WTForms 表单验证,文件上传

    Flask-WTF是简化了WTForms操作的一个第三方库.WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板.同时还包含一些其他的功能.例如CSRF保护,文件上传等功能,安装fl ...

  2. 基于华为云obs实现文件上传下载(技术栈mysql+springboot+Maven+jsp+java)的技术分享

    基于华为云obs实现文件上传下载(技术栈mysql+springboot+jsp+java)的技术分享 obs实现文件上传下载 前言 一.OBS是什么? 二.使用步骤 1.1 前期准备 2 工具的内容 ...

  3. SpringMVC(SSM)框架搭建JavaWeb项目时,前端页面文件上传,后台Java下载功能实现及相关问题记录说明

    看在前面:前端页面通过input控件实现文件上传,后台Java使用SpringMVC框架的实现网上有较多教程,但是真正配置一遍下来不报错的较少,所以本博客前面先介绍一遍完整的设置步骤,然后介绍遇到的一 ...

  4. java B2B2C 仿淘宝电子商城系统-Spring Cloud Feign的文件上传实现

    在Spring Cloud封装的Feign中并不直接支持传文件,但可以通过引入Feign的扩展包来实现,本文就来具体说说如何实现.需要JAVA Spring Cloud大型企业分布式微服务云构建的B2 ...

  5. ftpclient读取服务器文件能获得文件名文件大小0_Spring WEB工程整合使用FTP,ftp文本文件解析入库,文件上传下载

    友情提示:文章比较长,方法都是有一层层封装的,阅读需要按照文章顺序阅读 首先写一个简单的FTP工具类,先实现最基本的文件上传,下载,删除,拷贝功能.这里操作FTP是用的commons-net-3.3. ...

  6. Struts2.3.5+Hibernate3+Spring3.1基于注解实现的多文件上传,下载

    Struts2.3.5+Hibernate3+Spring3.1基于注解实现的的多文件上传,下载,这里是上传文件到数据库中,上传控件可以增加和删除,有需要的朋友可以看看. 以下是源码下载地址:http ...

  7. 【Java Web】在html界面中提交表单,由jsp进行接收并展示[jsp的接收使用的是jsp内置对象] 【上课记录】

    9月27号[上午1-2节java web课] 1.jsp+html[简单提交表单] html代码 <!DOCTYPE html> <html> <head> < ...

  8. (21) java web的struts2框架的使用-Action实现的三种方式

    上一篇介绍了struts使用的四个步骤. 其中在开发action的时候,可以有三种实现方式: 1,写一个类,继承与ActionSupport 2,写一个类,实现Action接口 3,写一个类,实现业务 ...

  9. java序列化表单同步请求_Ajax serialize() 表单进行序列化方式上传文件

    通过传统的 form 表单提交的方式上传文件 上传文件: 不过传统的 form 表单提交会导致页面刷新,但是在有些情况下,我们不希望页面被刷新,这种时候我们都是使用 Ajax 的方式进行请求的. 使用 ...

最新文章

  1. iacr crypto 级别_以防范病毒和黑客的侵犯,Windows 10如何调整IE目前的安全级别
  2. 2.9 情感分类-深度学习第五课《序列模型》-Stanford吴恩达教授
  3. SOCKET,TCP/UDP,HTTP,FTP
  4. 课时36:类与对象:给大家介绍对象
  5. 这些迹象表明公司即将裁员
  6. Oracle 11g R2 ADG 运维
  7. Element-UI安装和项目开发
  8. 数据类型转换(面试题)
  9. 文件io(一)--unix环境高级编程读书笔记
  10. 算法分析之渐近分析(Asymptotic Analysis)
  11. 双十一来临,你就不想知道阿里后台都做了哪些准备吗?
  12. 亚马逊aws 服务器删除_如何关闭Amazon AWS上服务器
  13. 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx
  14. 利用Websocket实现ROS与Web的交互
  15. 仙人掌圆方树学习笔记
  16. 联想笔记本小新air14,键盘如何设置不用按Fn直接按F1~12、?
  17. 【SDOI2010】【BZOJ1924】所驼门王的宝藏
  18. 基于springboot酒店管理系统
  19. 亲身经历告诉你,学好英语的正确姿势(文末附自建英语学习网站)
  20. 【北大青鸟天府校区的Java专业怎么样?】

热门文章

  1. [转]struts2处理.do后缀的请求
  2. MFC,ADO方式实现数据库操作
  3. STL: set相关算法
  4. 下载r包IlluminaHumanMethylation450kanno.ilmn12.hg19
  5. halcon与c#联合编程的方法
  6. php自动处理,thinkphp中的三种自动处理
  7. 单电源运算放大器全波整流电路_几种二极管整流电路原理图解。
  8. python字典的键可以用列表吗_python字典多键值及重复键值的使用方法(详解)
  9. 鸿蒙应用开发在线体验官网,华为鸿蒙 HarmonyOS 应用开发在线体验网站上线
  10. sql server排序慢_用Nginx实现接口慢查询并可示化展示TOP 20