springboot MultipartFile获取文件name
时间: 2023-06-14 16:04:28 浏览: 234
可以通过MultipartFile的`getOriginalFilename()`方法获取上传文件的文件名。示例代码如下:
```java
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
String fileName = file.getOriginalFilename();
// 其他操作
return "upload success";
}
```
其中,`@RequestParam("file")`注解用于将上传的文件绑定到`MultipartFile`类型的参数上。
相关问题
springboot MultipartFile 上传文件
好的,关于 Spring Boot 中使用 MultipartFile 上传文件,你可以按照以下步骤进行操作:
1. 在前端页面中添加一个文件上传的表单,例如:
```html
<form method="post" enctype="multipart/form-data" action="/upload">
<input type="file" name="file">
<button type="submit">上传</button>
</form>
```
2. 在后端控制器中添加一个处理文件上传的方法,例如:
```java
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
// 处理文件上传逻辑
return "redirect:/success";
}
```
其中,@RequestParam("file") 注解表示将表单中 name 属性为 "file" 的文件上传到 MultipartFile 类型的 file 变量中。
3. 在处理文件上传逻辑中,你可以使用 MultipartFile 类提供的方法来获取文件名、文件类型、文件大小等信息,例如:
```java
String fileName = file.getOriginalFilename();
String contentType = file.getContentType();
long size = file.getSize();
```
同时,你也可以使用 MultipartFile 类提供的方法将文件保存到本地磁盘或者云存储中,例如:
```java
Path path = Paths.get("uploads/" + fileName);
Files.write(path, file.getBytes());
```
这样就可以将上传的文件保存到项目根目录下的 uploads 文件夹中。
springboot整合MultipartFile实现批量上传
Spring Boot整合`MultipartFile`用于实现文件的批量上传,主要是通过处理HTTP请求中的multipart/form-data类型的表单数据。以下是一个基本步骤:
1. 创建HTML表单:前端页面上需要创建一个或多份文件输入字段,允许用户选择多个文件并提交。
```html
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<button type="submit">上传</button>
</form>
```
2. 后端Controller接收请求:在Spring Boot的Controller类中,使用`@PostMapping`注解处理上传请求,并接受`MultiValueMap< String, MultipartFile >`作为参数,因为`MultipartFile[] files`会转换成这样的映射。
```java
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("files") MultiValueMap<String, MultipartFile> files) {
// ...文件处理代码...
}
```
3. 遍历文件:对`MultiValueMap`中的每个`MultipartFile`实例,你可以获取其名称、大小等信息,然后逐个读取文件内容。
```java
List<MultipartFile> uploadedFiles = files.get("files");
for (MultipartFile file : uploadedFiles) {
try {
if (!file.isEmpty()) { // 检查文件是否为空
byte[] bytes = file.getBytes(); // 读取文件内容
// ...将字节数组存储到数据库或服务器存储位置...
}
} catch (IOException e) {
log.error("Error reading file", e);
}
}
```
4. 错误处理:记得处理可能出现的异常,例如文件过大、文件类型不符合预期等情况。
阅读全文