Spring Boot—04文件上传
2023-09-11 14:19:52 时间
package com.smartmap.sample.ch1.controller.view; import java.io.File; import java.io.IOException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import com.smartmap.sample.ch1.service.UserService; @Controller @RequestMapping("/system/page/user") public class UserViewController { @Autowired UserService userService; @Autowired private Environment environment; @GetMapping("/list.html") public String userList(Model model) { String osName = System.getProperty("os.name"); model.addAttribute("name", "hello world"); model.addAttribute("host", osName); return "user/list"; } @GetMapping("/userdetail.html") public String userdetail(String id) { return "admin/userInfo.jsp"; } /** * 文件上传 * * curl -XPOST 'http://127.0.0.1:8080/system/page/user/upload.html' -F * "multipartFile=@/D/Project/JavaWeb/SpringBoot/01HelloSpringBoot/readme.txt" * -F "name=123456789" * * curl -XPOST 'http://127.0.0.1:8080/system/page/user/upload.html' -F * "multipartFile=@readme.txt;type=application/octet-stream" -F "name=123456789" * * @param name * @param multipartFile * @return * @throws IllegalStateException * @throws IOException */ @PostMapping("/upload.html") @ResponseBody public String handleFormUpload(String name, MultipartFile multipartFile) throws IllegalStateException, IOException { String resultMessage = "{success: false, message: 'upload fail'}"; System.out.println(multipartFile); if (!multipartFile.isEmpty()) { String fileName = multipartFile.getOriginalFilename(); // InputStream is = multipartFile.getInputStream(); String fileSavePath = environment.getProperty("file.upload.path", ""); if (!fileSavePath.equals("")) { File file = new File(fileSavePath + java.io.File.separator + fileName); if (file.exists()) { file.delete(); } multipartFile.transferTo(file); resultMessage = "{success: true, message: 'upload success'}"; } } return resultMessage; } }
application.properties
file.upload.path=D:/Project/JavaWeb/SpringBoot/01HelloSpringBoot/fileUpLoad spring.servlet.multipart.enabled=true spring.servlet.multipart.file-size-threshold=0 spring.servlet.multipart.location=D:/Project/JavaWeb/SpringBoot/01HelloSpringBoot/temp spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=10MB spring.servlet.multipart.resolve-lazily=false
相关文章
- Spring Cloud与分布式系统
- ESP8266乐鑫版本的(支持云端升级 (Boot 模式)烧写方法,(V1.5.4官方介绍如下)(BOOT模式)
- Spring Boot HTTP over JSON 的错误码异常处理
- 《Spring Boot官方指南》(一)Spring Boot 文档
- Spring Boot 配置优先级顺序
- 规则引擎Drools使用 第十五篇 Spring Boot整合Drools
- 【Java】Spring Boot获取请求接口的客户端IP
- Spring Boot 2.x基础教程:使用Flyway管理数据库版本
- Spring Boot 2.7.0发布,2.5停止维护,节奏太快了吧
- Spring Boot 2 集成log4j2日志框架
- spring的context---ServletContext WebApplicationContext---Spring各种上下文的关系详解
- 在Spring Boot中加载初始化数据
- spring框架漏洞整理(Spring Boot Actuator相关漏洞)
- spring mvc的security配置提示 No bean named 'springSecurityFilterChain' available
- 浅析Spring Bean的循环依赖问题、单例对象初始化三步、spring的三级缓存+提前曝光机制
- [转]Spring Boot——2分钟构建spring web mvc REST风格HelloWorld
- 全栈开发实战|电子商务平台的设计与实现(Spring Boot + MyBatis + Thymeleaf)
- Unable to create initial connections of pool. spring boot mysql
- spring boot 在eclipse里启动正常,但打包后启动不起来
- How those spring enable annotations work--转
- 曹工谈Spring Boot:Spring boot中怎么进行外部化配置,一不留神摔一跤;一路debug,原来是我太年轻了
- 曹工说Spring Boot源码(15)-- Spring从xml文件里到底得到了什么(context:load-time-weaver 完整解析)
- 曹工说Spring Boot源码(10)-- Spring解析xml文件,到底从中得到了什么(context:annotation-config 解析)
- 曹工说Spring Boot源码(8)-- Spring解析xml文件,到底从中得到了什么(util命名空间)
- 曹工说Spring Boot源码(7)-- Spring解析xml文件,到底从中得到了什么(上)
- 曹工说Spring Boot源码(6)-- Spring怎么从xml文件里解析bean的
- 曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦
- Spring Boot文件上传