Springboot 上传图片到 resource 下的 static 文件夹

在 Springboot 中处理前端上传的图片并将其保存到 `resource` 目录下的 `static` 文件夹中,需要遵循以下步骤:

1. **配置 MultipartConfigElement**

首先,需要在 Springboot 应用中配置 MultipartConfigElement,以支持文件上传。在 `application.properties` 文件中添加以下配置:

properties

spring.servlet.multipart.enabled=true

spring.servlet.multipart.location=${java.io.tmpdir}

spring.servlet.multipart.max-file-size=10MB

spring.servlet.multipart.max-request-size=10MB

然后在 `application.yml` 或 `application.properties` 文件中设置 `spring.web.multipart.location` 属性,指定上传文件的临时存储位置。

2. **创建 ImageController**

创建一个 `ImageController` 类,用于处理上传请求。在 `@RequestMapping` 注解中指定上传图片的路径,例如 `/upload`。

3. **编写上传图片的逻辑**

在 `ImageController` 类中,编写一个 `@PostMapping` 方法来处理上传请求。使用 `MultipartFile` 对象获取上传的文件,然后使用 `InputStream` 读取文件内容。

java

@PostMapping("/upload")

public ResponseEntity uploadImage(@RequestParam("file") MultipartFile file) {

// 检查文件是否为空

if (file.isEmpty()) {

return ResponseEntity.badRequest().build();

}

// 获取文件名

String originalFilename = file.getOriginalFilename();

// 创建保存图片的路径

String filePath = "resource/static/" + originalFilename;

// 写入文件

try {

FileUtils.copyInputStreamToFile(file.getInputStream(), new File(filePath));

} catch (IOException e) {

e.printStackTrace();

return ResponseEntity.badRequest().build();

}

// 返回上传成功的信息

更多文章请关注《万象专栏》