SpringMVC之通过最简单的方法实现多文件上传(提供一种模板,可以在这种方法的基础上进行各种的改良)
创始人
2024-01-21 20:59:34
0

上一篇博客主要介绍的SpringMVC中单文件进行上传的两种方法单文件上传的两种方法

单文件上传的方法我们解决了,那如何如何实现多文件进行上传输出呢?
这篇文章主要实现的方法就是通过数组的方法来实现多文件的上传
注意本篇文章的大部分内容与上一篇文章有很多相同的代码,在这篇文章就不过多进行介绍了,如果有疑惑的地方,可以到我的主页SpringMVC专栏去了解以下疑惑的地方。


多文件上传

一:创建网页文件,实现上传多个文件的功能

<%--Created by IntelliJ IDEA.User: lenovoDate: 2022/11/11Time: 17:32To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

Title


第二:创建SpringMVC框架的控制器

package fileupload_demo1;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.UUID;//代码实现多文件进行上传,通过数组的方式实现
@Controller
public class CT2 {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("/yyyy/MM/dd/");@RequestMapping("/myc")@ResponseBody
//定义文件类型为数组,接收前端传来的多个文件,并报存在数组中public String play1(MultipartFile[] files, HttpServletRequest req) throws IOException {String format = simpleDateFormat.format(new Date());  //获取今天的日期String realpath = req.getServletContext().getRealPath("/img") +format; //获取Tomcat中的临时储存文件File folder = new File(realpath);if(!folder.exists()){   //检查目录是否存在folder.mkdirs();    //目录不存在进行创建}String[] demo1 = new String[files.length]; //定义一个新的数组,获取各个文件的urlint i=0;for(MultipartFile file:files){    //遍历数组中的文件String oldname = file.getOriginalFilename(); //得到上传时的文件名String name = UUID.randomUUID().toString()+oldname.substring(oldname.lastIndexOf(".")); //UUID.randomUUID().toString():Java中自动生成主键的方法,机器中生成的一串生成数字file.transferTo(new File(folder,name)); //将前端传来的数据保存指定名字保存在指定文件夹下String url = req.getScheme()+ "://"+req.getServerName() +":"+req.getServerPort() +"/img" +format +name;System.out.println(url);demo1[i] = url;    //将获取的url添加到创建的数组中i++;//http://localhost:8080/img/2022/11/13/8d3910d1-2a7c-47ce-8251-3cc4eeaf0bc4.jpeg}return Arrays.toString(demo1);  //遍历输出存着url中的数组}
}

关于SpringMVC的配置文件和需要的各种依赖以及web.xml中的各种配置,可以到前面链接中文章去了解

执行项目:

 选中三个文件,点击提交

网页跳转,遍历方法输出三个文件的URL

输入网页可以查看,已上传的文件

 

 文件上传成功

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...