springboot 本地图片base64保存到数据库
时间: 2023-08-25 22:55:01 浏览: 215
在Spring Boot中,可以使用Base64编码将本地图片保存到数据库。以下是一个示例代码:
```java
import java.io.File;
import java.nio.file.Files;
import java.util.Base64;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
public class ImageToDatabaseApplication {
public static void main(String[] args) {
SpringApplication.run(ImageToDatabaseApplication.class, args);
}
}
@RestController
class ImageController {
private final ImageRepository imageRepository;
public ImageController(ImageRepository imageRepository) {
this.imageRepository = imageRepository;
}
@PostMapping("/upload")
public String uploadImage(@RequestParam("file") File file) {
try {
// 读取图片文件并进行Base64编码
byte[] fileContent = Files.readAllBytes(file.toPath());
String base64Image = Base64.getEncoder().encodeToString(fileContent);
// 创建实体对象并保存到数据库
Image image = new Image();
image.setData(base64Image);
imageRepository.save(image);
return "图片保存成功!";
} catch (Exception e) {
e.printStackTrace();
}
return "图片保存失败!";
}
}
@Entity
class Image {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Lob
private String data;
// getters and setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
interface ImageRepository extends JpaRepository<Image, Long> {
}
```
在这个示例中,我们创建了一个Spring Boot应用程序,使用`ImageController`来处理上传图片的请求。在`uploadImage`方法中,我们首先将文件内容读取为字节数组,然后使用Base64编码转换为字符串。接下来,我们创建一个`Image`实体对象,将Base64编码后的图片数据设置到`data`属性中,并通过`ImageRepository`将实体保存到数据库中。
请确保在`application.properties`文件中配置正确的数据库连接信息,并在pom.xml文件中添加适当的依赖项(例如Spring Data JPA和MySQL驱动程序),以便应用程序能够正常工作。
这是一个简单的示例,你可以根据实际需求进行修改和扩展。
阅读全文