springboot上传图片转base64
时间: 2023-07-19 15:38:27 浏览: 286
好的,以下是Spring Boot实现上传图片转换为base64格式的代码:
```java
import java.io.IOException;
import java.util.Base64;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
@Controller
public class ImageController {
@PostMapping(value = "/upload", consumes = { MediaType.MULTIPART_FORM_DATA_VALUE })
public ResponseEntity<String> uploadImage(@RequestParam("image") MultipartFile file) throws IOException {
if (file.isEmpty()) {
return ResponseEntity.badRequest().body("Please select a file");
}
String fileName = StringUtils.cleanPath(file.getOriginalFilename());
byte[] bytes = file.getBytes();
String encodedString = Base64.getEncoder().encodeToString(bytes);
return ResponseEntity.ok().body(encodedString);
}
}
```
该代码创建了一个名为 `ImageController` 的Spring Boot控制器,其中包含了一个名为 `uploadImage` 的POST请求处理方法。该方法接收一个名为 "image" 的文件参数,将上传的文件转换为base64编码字符串并返回。请将代码中的 "/upload" 替换为你实际的请求路径。
在使用前,你需要在 `pom.xml` 文件中添加以下依赖项:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
```
同时,你还需要在Spring Boot应用程序的配置文件中添加以下配置项:
```properties
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.max-request-size=20MB
```
这些配置项将启用文件上传,并设置了上传文件的最大大小。请根据你的实际需求进行调整。
阅读全文