和单个上传文件基本相同,就是需要在后台控制器中,用数组来接收 jsp页面提交过来的file数据。

也分为三个部分演示。

一、jsp

  

<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2019/8/12
Time: 14:32
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>多文件上传</title>
</head>
<%-- 多文件上传 jsp 部分
1.在form 标签中定义属性 enctype="multipart/form-data"
2.在上传的input中定义属性 multiple="multiple" --%>
<body>
<form action="../test" method="post" enctype="multipart/form-data">
<div>上传文件:<input type="file" name="file" multiple="multiple"></div>
<div> <input type="submit" value="上传" /> </div>
</form>
</body>
</html>

二、后台控制器

package com.aaa.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
/*
*
* 多文件上传 1.jsp 2.后台控制层
*
* 将接受的 file 属性 定义成一个数组
* 2.1@RequestParam("file")MultipartFile [] files
*
* 2.2 通过for循环 将得到的结果 便利出来。
* */ @Controller
public class TestController {
@RequestMapping("/test")
public String test(@RequestParam("file")MultipartFile [] files, Model model, HttpServletRequest request) throws IOException { for (MultipartFile file:files
) { if (!file.isEmpty()){
//获得上传的目标位置
String path = request.getSession().getServletContext().getRealPath("/static/upload"); //目标文件的对象
String fileName = file.getOriginalFilename(); File file1 = new File(path + "/" + fileName); //父级目录 不在 就创建一个
if (!file1.getParentFile().exists()){
file1.mkdirs();
} //数据库没有的文件 才上传
if (!file1.exists()){
file.transferTo(file1);
model.addAttribute("file",fileName);
}
}else {
model.addAttribute("file", "上传文件为空");
}
}
return "view/ok1";
}
}

三、接收数据的jsp页面。

<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2019/8/12
Time: 14:45
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>接收数据</title>
</head>
<body>
上传的文件:${file}
</body>
</html>

from 表单上传多个文件?的更多相关文章

  1. 文件的上传(1)(表单上传和ajax文件异步上传)

    文件的上传(表单上传和ajax文件异步上传) 项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举 ...

  2. 文件的上传(表单上传和ajax文件异步上传)

    项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举的主要对于小文件上传的处理! 资源下载: 一. ...

  3. 普通文件的上传(表单上传和ajax文件异步上传)

    一.表单上传: html客户端部分: <form action="upload.ashx" method="post" enctype="mul ...

  4. Linux 基础命令-CURL 表单上传文件

    CURL -F, --form <name=content> (HTTP) This lets curl emulate a filled-in form in which a user ...

  5. 一般处理程序上传文件(html表单上传、aspx页面上传)

    html 表单上传文件        一般处理程序由于没有 apsx 页面的整个模型和控件的创建周期,而比较有效率.这里写一个用 html 表单进行文件上传的示例.        1. 表单元素选用 ...

  6. django 基于form表单上传文件和基于ajax上传文件

    一.基于form表单上传文件 1.html里是有一个input type="file" 和 ‘submit’的标签 2.vies.py def fileupload(request ...

  7. java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例

    java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例HttpClient 测试类,提供get post方法实例 package com.zdz.httpclient; i ...

  8. Express下使用formidable实现POST表单上传文件并保存

    Express下使用formidable实现POST表单上传文件并保存 在上一篇文章中使用formidable实现了上传文件,但没将它保存下来. 一开始,我也以为是只得到了文件的相关信息,需要用fs. ...

  9. 巨蟒python全栈开发django11:ajax&&form表单上传文件contentType

    回顾: 什么是异步? 可以开出一个线程,我发出请求,不用等待返回,可以做其他事情. 什么是同步? 同步就是,我发送出了一个请求,需要等待返回给我信息,我才可以操作其他事情. 局部刷新是什么? 通过jq ...

随机推荐

  1. LeetCode1237找出给定方程的正整数解

    题目 给定方程f和值z,找出给定方程f(x,y)=z的正整数解x,y.f(x,y)关于x.y都是严格单调的. 题目保证 f(x, y) == z 的解处于 1 <= x, y <= 100 ...

  2. Saving Beans(hud3037)

    Saving Beans Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  3. bootstrap datetimepick 时分秒选择,坑我15个小时,整理记录

    官网的datetimepick 下载链接 官网下载 <input type="text" readonly name="feedDay" id=" ...

  4. jsp标签 c:when

    Illegal use of <when>-style tag without <choose> as its direct parent 在jsp页面用报错Illegal u ...

  5. Java初学者作业——编写Java程序,在控制台中输入一个数字,要求定义方法实现找出能够整除该数字的所有数字。

    返回本章节 返回作业目录 需求说明: 编写Java程序,在控制台中输入一个数字,要求定义方法实现找出能够整除该数字的所有数字. 实现思路: 定义方法findNums(),用于实现查找所有能够整除指定数 ...

  6. 新来的实习生测post接口老漏测,搞清楚原理再执行真的很重要

    ​一.GET方法和POST方法传递数据的异同  一.GET方法和POST方法传递数据的异同 http请求方法get和post是最常被用到的两个方法,get常用于向服务器请求数据,post常用于提交数据 ...

  7. Linux 安装并启用 PHP-FPM

    首先,在编译时带上 --enable-fpm 参数: [root@localhost local]# yum -y install libxml2 libxml2-devel gd gd-devel ...

  8. SpringBoot 之 整合JDBC使用

    导入相关依赖: # pom.xml <dependency> <groupId>org.springframework.boot</groupId> <art ...

  9. 基于ShardingJDBC的分库分表详细整理

    转载 https://www.cnblogs.com/jackion5/p/13658615.html 前言 传统应用项目设计通常都是采用单一数据库作为存储方案,但是随着互联网的迅猛发展以及应用数据量 ...

  10. react 网址导航

    项目搭建 使用webpack.babel.react.antdesign配置单页面应用开发环境