Spring Boot 实现单个或批量文件上传功能 本文主要介绍了 Spring Boot 实现单个或批量文件上传功能的方法,涵盖了添加依赖、配置文件路径、编写静态页面、编写 Controller 层等方面的内容,为读者提供了一个完整的文件上传示例。 添加依赖 在 Spring Boot 项目中,添加以下依赖项以实现文件上传功能: * Spring Boot Starter Thymeleaf:用于模板引擎 * JSTL 依赖:用于静态页面的渲染 * Tomcat Embed Jasper 依赖:用于jsp渲染 配置文件路径 在 application.xml 配置文件中,添加以下配置项: * image.location.path:配置上传文件的存储路径 * spring.http.multipart.maxFileSize:配置文件大小限制 * spring.http.multipart.maxRequestSize:配置请求大小限制 * spring.thymeleaf.cache:配置 Thymeleaf 缓存 * spring.thymeleaf.prefix:配置模板前缀 * spring.thymeleaf.check-template-location:配置模板位置检查 * spring.thymeleaf.suffix:配置模板后缀 * spring.thymeleaf.encoding:配置模板编码 * spring.thymeleaf.content-type:配置模板内容类型 * spring.thymeleaf.mode:配置模板模式 编写静态页面 在 src/main/resources 目录下,创建 static 文件夹和 templates 文件夹。static 文件夹用于存放静态文件,如 css、js、image 等,而 templates 文件夹用于存放静态页面。在 templates 文件夹下,创建 uploadimg.html 文件,内容如下: ```html <!DOCTYPE html> <html> <head> <title>uploadimg.html</title> <meta name="keywords" content="keyword1,keyword2,keyword3"></meta> <meta name="description" content="this is my page"></meta> <meta name="content-type" content="text/html; charset=UTF-8"></meta> <!--<link rel="stylesheet" type="text/css" href="./styles.css" rel="external nofollow" >--> </head> <body> <form enctype="multipart/form-data" method="post" action="/dc/fileUpload"> 图片<input type="file" name="file"/> <input type="submit" value="上传"/> </form> </body> </html> ``` 编写 Controller 层 在 Controller 层中,创建 FileUploadController 类,用于处理文件上传请求。该类中,使用 HttpServletRequest 和 HttpServletResponse 对象来处理文件上传。 ```java package com.hot.analysis.controller.file; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Date; import java.util.Random; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class FileUploadController { // 文件上传处理方法 @PostMapping("/fileUpload") public void fileUpload(HttpServletRequest request, HttpServletResponse response) throws IOException { // 获取上传文件 MultipartFile file = ((MultipartHttpServletRequest) request).getFile("file"); // 保存文件 String filePath = "f:/image/" + new Date().getTime() + "_" + file.getOriginalFilename(); File destFile = new File(filePath); file.transferTo(destFile); // 返回上传结果 response.setContentType("text/html;charset=UTF-8"); response.getWriter().print("上传成功!"); } } ``` 通过以上步骤,读者可以轻松实现单个或批量文件上传功能。
- 粉丝: 4
- 资源: 928
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于SimPy和贝叶斯优化的流程仿真系统.zip
- (源码)基于Java Web的个人信息管理系统.zip
- (源码)基于C++和OTL4的PostgreSQL数据库连接系统.zip
- (源码)基于ESP32和AWS IoT Core的室内温湿度监测系统.zip
- (源码)基于Arduino的I2C协议交通灯模拟系统.zip
- coco.names 文件
- (源码)基于Spring Boot和Vue的房屋租赁管理系统.zip
- (源码)基于Android的饭店点菜系统.zip
- (源码)基于Android平台的权限管理系统.zip
- (源码)基于CC++和wxWidgets框架的LEGO模型火车控制系统.zip