• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Spring Boot文件上传最新解决方案

java 搞代码 4年前 (2022-01-05) 94次浏览 已收录 0个评论
文章目录[隐藏]

本文给大家分享Spring Boot文件上传功能的示例代码,包括单文件上传示例和多文件上传,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

一、创建一个简单的包含WEB依赖的SpringBoot项目

pom.xml内容:

 <!-- Spring Boot web启动器 --> org.springframework.bootspring-<div style="color:transparent">来源gaodai^.ma#com搞#代!码网</div>boot-starter-web<!-- jsp --> javax.servletjstl org.apache.tomcat.embedtomcat-embed-jasper<!--provided-->

二、配置文件上传的文件大小限制

application.properties配置文件添加:

 # 上传文件总的最大值 spring.servlet.multipart.max-request-size=10MB # 单个文件的最大值 spring.servlet.multipart.max-file-size=10MB ## jsp spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp
  • spring.servlet.multipart.max-file-size限制单个文件的最大值
  • spring.servlet.multipart.max-request-size限制上传的多个文件的总大小

 三、单文件上传示例

1、创建Controller控制类,内容如下:

 package com.songguoliang.springboot.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; import java.util.List; /** * @Description * @Author sgl * @Date 2018-05-15 14:04 */ @Controller public class UploadController { private static final Logger LOGGER = LoggerFactory.getLogger(UploadController.class); @GetMapping("/upload") public String upload() { return "upload"; } @PostMapping("/upload") @ResponseBody public String upload(@RequestParam("file") MultipartFile file) { if (file.isEmpty()) { return "上传失败,请选择文件"; } String fileName = file.getOriginalFilename(); String filePath = "/Users/itinypocket/workspace/temp/"; File dest = new File(filePath + fileName); try { file.transferTo(dest); LOGGER.info("上传成功"); return "上传成功"; } catch (IOException e) { LOGGER.error(e.toString(), e); } return "上传失败!"; } }

2、创建upload.jsp文件

只有一个表单,选择文件,form的enctypemultipart/form-data:

   <title>单文件上传</title>  <br>

3、通过springboot插件启动项目,浏览器输入http://localhost:8080/upload

选择文件点击提交按钮返回成功信息,我们上传的文件保存在/Users/itinypocket/workspace/temp路径下:

四、多文件上传

1、创建多文件上传的jsp页面,多文件上传页面只是比单文件上传多了file选择的input而已,multiUpload.jsp内容如下:

   <title>多文件上传</title>  <br><br><br>

2、在UploadController里添加多文件上传的方法

 @GetMapping("/multiUpload") public String multiUpload() { return "multiUpload"; } @PostMapping("/multiUpload") @ResponseBody public String multiUpload(HttpServletRequest request) { List files = ((MultipartHttpServletRequest) request).getFiles("file"); String filePath = "/Users/itinypocket/workspace/temp/"; for (int i = 0; i <files.size(); i++) { MultipartFile file = files.get(i); if (file.isEmpty()) { return "上传第" + (i++) + "个文件失败"; } String fileName = file.getOriginalFilename(); File dest = new File(filePath + fileName); try { file.transferTo(dest); LOGGER.info("第" + (i + 1) + "个文件上传成功"); } catch (IOException e) { LOGGER.error(e.toString(), e); return "上传第" + (i++) + "个文件失败"; } } return "上传成功"; }

3、重启服务,浏览器输入http://localhost:8080/multiUpload:

4、然后选择要上传的文件,点击提交按钮,得到成功信息:

我们选择的三个文件已被成功上传到/Users/itinypocket/workspace/temp路径下。

分享一个零基础,通俗易懂,而且非常风趣幽默的人工智能教程(如不能直接点击访问,请以“右键”->“在新标签页中打开链接”方式打开)网站,网址:https://www.cbedai.net/gnailoug/

源码:
github
码云

到此这篇关于Spring Boot文件上传最新解决方案的文章就介绍到这了,更多相关Spring Boot文件上传内容请搜索gaodaima搞代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持gaodaima搞代码网

以上就是Spring Boot文件上传最新解决方案的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Spring Boot文件上传最新解决方案

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址