springboot实现文件上传
在Spring Boot中实现文件上传,你可以使用@RestController
和@PostMapping
注解来创建一个控制器,并使用MultipartFile
接口来接收上传的文件。以下是一个简单的例子:
- 添加依赖到你的
pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
- 创建一个控制器来处理文件上传:
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "文件为空,请选择一个文件上传。";
}
try {
// 获取文件名
String fileName = file.getOriginalFilename();
// 获取文件的字节
byte[] bytes = file.getBytes();
// 这里可以添加保存文件的代码,例如将文件保存到磁盘或数据库
return "文件上传成功:" + fileName;
} catch (Exception e) {
return "文件上传失败:" + e.getMessage();
}
}
}
- 配置
application.properties
或application.yml
,如果需要更改默认的文件上传设置:
# 设置文件上传的最大尺寸
spring.servlet.multipart.max-file-size=2MB
# 设置请求的最大尺寸
spring.servlet.multipart.max-request-size=2MB
确保你的Spring Boot应用程序有一个有效的@SpringBootApplication
注解,这样它就可以作为一个Spring Boot应用程序启动。
现在,你可以使用如curl
或者一个表单(HTML)来上传文件到/upload
端点。如果你使用的是HTML表单,请确保表单的enctype
属性设置为multipart/form-data
。
评论已关闭