MultipartFile获取文件的地址
时间: 2025-04-27 11:30:01 浏览: 19
### 使用 MultipartFile 获取上传文件的存储路径
在 Spring Boot 中,`MultipartFile` 主要用于处理文件上传操作。为了获取上传文件的最终存储位置,在调用 `transferTo()` 方法保存文件之后可以记录目标路径。
```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "Failed to upload empty file";
}
try {
// 定义文件保存目录
Path path = Paths.get("uploads/" + file.getOriginalFilename());
// 创建父级目录结构
File parentDir = new File(path.getParent().toString());
if (!parentDir.exists()) {
parentDir.mkdirs();
}
// 将文件写入指定路径
file.transferTo(new File(String.valueOf(path)));
// 返回文件绝对路径作为响应信息
return "File uploaded successfully: " + path.toAbsolutePath().normalize().toString();
} catch (Exception e) {
return "Error occurred while uploading the file.";
}
}
}
```
上述代码展示了如何接收客户端提交的文件并将其保存到服务器端特定的位置[^1]。通过构建完整的文件路径,并利用 `Paths.get()` 和 `toAbsolutePath()` 可以方便地获得文件的实际存储地址[^3]。
对于大文件上传的情况,建议调整应用配置中的最大允许尺寸限制:
- `spring.http.multipart.max-file-size`: 单个文件的最大大小。
- `spring.servlet.multipart.max-request-size`: 整个HTTP请求体的最大大小。
这些设置可以在项目的 application.properties 或者 application.yml 文件里定义[^2]。
阅读全文
相关推荐















