spring boot上传图片
时间: 2023-09-11 10:09:52 浏览: 54
在Spring Boot中上传图片,可以使用Spring MVC的MultipartResolver来实现。具体步骤如下:
1. 配置MultipartResolver
在Spring Boot中,MultipartResolver已经默认配置好了,可以直接使用。如果需要自定义配置,可以在application.properties文件中添加以下配置:
```
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
```
其中,max-file-size和max-request-size分别表示上传文件的最大大小和请求的最大大小。
2. 创建上传文件的表单
在HTML页面中创建一个表单,用于上传文件。表单需要添加enctype="multipart/form-data"属性,以支持文件上传。
```
<form method="post" action="/upload" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
```
3. 编写上传文件的控制器
在Spring Boot中,可以使用@RequestParam注解来获取上传的文件。控制器方法的参数中添加@RequestParam注解,并指定文件的名称,即可获取上传的文件。
```
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
// 获取上传的文件名
String fileName = file.getOriginalFilename();
// 获取上传的文件类型
String fileType = file.getContentType();
// 获取上传的文件大小
long fileSize = file.getSize();
// 上传文件的逻辑处理
...
return "upload success";
}
```
4. 保存上传的文件
可以使用Java IO的API来保存上传的文件。可以使用FileOutputStream将文件输出到指定的路径中。
```
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
// 获取上传的文件名
String fileName = file.getOriginalFilename();
// 获取上传的文件类型
String fileType = file.getContentType();
// 获取上传的文件大小
long fileSize = file.getSize();
// 保存上传的文件
try {
String filePath = "/path/to/save/file/" + fileName;
FileOutputStream fos = new FileOutputStream(filePath);
fos.write(file.getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
return "upload success";
}
```
以上就是在Spring Boot中上传图片的步骤。