Springboot文件上传
1.创建Springboot项目,结构如下:

2. 代码部分
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
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.Date;
import java.util.UUID;
//文件上传
@Controller
@RequestMapping("upload")
public class UploadConcoller {
@RequestMapping("test")
public String upload(MultipartFile fileTest, HttpServletRequest request) throws IOException {
//获取上传的文件名
System.out.println("上传的文件名为:"+fileTest.getOriginalFilename());
System.out.println("上传的文件大小为:"+fileTest.getSize());
System.out.println("上传的文件类型为:"+fileTest.getContentType());
//动态获取路径
String realPath = request.getSession(true).getServletContext().getRealPath("upload");
//保证上传的文件名唯一
String uu = UUID.randomUUID().toString().replace("-","");
String newFile = uu+fileTest.getOriginalFilename();
System.out.println("新名字:"+newFile);
//创建新的文件夹--当前系统时间
String format = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
System.out.println("文件名:"+format);
new File(realPath,format).mkdir();
//复制到该目录下
fileTest.transferTo(new File(realPath+"/"+format,newFile));
return "redirect:/index.jsp";
}
}
3. index.jsp页面
<%@ page pageEncoding="UTF-8" isELIgnored="false" %>
<form action="${pageContext.request.contextPath}/upload/test" method="post" enctype="multipart/form-data">
<input type="file" name="fileTest"></br>
</br>
<input type="submit" value="提交">
</form>
4. pom.xml
<!--父级项目依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
</parent>
<dependencies>
<!--web支持的jar springboot的启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--JSP解析依赖-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!--war包-->
<!--去掉内嵌tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!--去掉使用内嵌tomcat解析jsp-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
5. applcation.properties
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
#上传时出现异常: 上传文件的大小超出默认配置 默认10M
#用来指定服务端最大文件大小
spring.servlet.multipart.max-file-size=50MB
#用来控制文件上传大小的限制
spring.servlet.multipart.max-request-size=60MB
6.启动项目,访问项目接口 会跳转到 jsp页面

浙公网安备 33010602011771号