springboot MultipartFile写到本地
时间: 2024-07-24 16:01:48 浏览: 65
在Spring Boot中,`MultipartFile`是一个用于处理上传文件的对象,如果你想要将用户上传的文件保存到本地,你可以按照以下步骤操作:
1. 首先,在你的控制器方法中接收上传的文件作为参数,例如:
```java
@PostMapping("/upload")
public ResponseEntity<String> uploadFile(@RequestParam("file") MultipartFile file) {
// ...
}
```
2. 检查文件是否已成功上传且大小未超过限制:
```java
if (file.isEmpty() || file.getSize() > MAX_FILE_SIZE) {
return new ResponseEntity<>("上传失败", HttpStatus.BAD_REQUEST);
}
```
3. 获取文件名并创建一个保存路径:
```java
String fileName = filenameFromUser(file.getOriginalFilename());
String filePath = "/path/to/save/" + fileName;
```
4. 将文件内容写入到本地目录:
```java
try (InputStream inputStream = file.getInputStream()) {
Files.copy(inputStream, Paths.get(filePath));
} catch (IOException e) {
log.error("Failed to save file", e);
return new ResponseEntity<>("文件保存失败", HttpStatus.INTERNAL_SERVER_ERROR);
}
```
5. 返回响应,告知用户文件已成功保存。
阅读全文