spring boot 显示数据库中图片

要在Spring Boot中显示数据库中的图片,你可以按照以下步骤进行操作:

1.在数据库中创建一个列用于存储图片的数据。通常使用BLOB类型存储图片的二进制数据。

2.创建一个Spring Boot项目,并添加相应的依赖,如Spring Data JPA。

3.创建一个实体类,包含一个字段用于存储图片的数据。在该字段上使用@Lob注解来表示该字段是一个大对象。

java 复制代码
@Entity
public class ImageEntity {
    @Id
    private Long id;
    
    @Lob
    private byte[] imageData;
    
    // getters and setters
}

4.创建一个JPA Repository,用于操作数据库中的图片数据。

java 复制代码
public interface ImageRepository extends JpaRepository<ImageEntity, Long> {
    // 添加自定义的方法,用于按照ID查询图片数据等操作
}

5.创建一个Controller来处理图片请求。

java 复制代码
@RestController
public class ImageController {
    @Autowired
    private ImageRepository imageRepository;
    
    @GetMapping("/image/{id}")
    public ResponseEntity<byte[]> getImage(@PathVariable Long id) {
        Optional<ImageEntity> imageOptional = imageRepository.findById(id);
        if (imageOptional.isPresent()) {
            byte[] imageData = imageOptional.get().getImageData();
            
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.IMAGE_JPEG); // 根据实际情况设置图片类型
            
            return new ResponseEntity<>(imageData, headers, HttpStatus.OK);
        } else {
            return new ResponseEntity<>(HttpStatus.NOT_FOUND);
        }
    }
}

6.启动Spring Boot应用,访问http://localhost:8080/image/{id}来获取指定ID的图片。

相关推荐
凤山老林2 小时前
Spring Boot 启动冲刺:耗时剖析、懒加载策略与事件驱动初始化优化
spring boot·后端·python
朱涛的自习室3 小时前
我给 Gemini 4 和 DeepSeek 搞了套「末位淘汰」,AI 干活会更猛吗?(Day 3)
android·前端·后端
woniu_maggie5 小时前
SAP MDG主数据治理实战:从架构原理到项目实施全解析
后端
xiaoqiMikko5 小时前
Redis 实战(一):内存满了 —— 拒写、淘汰、被系统杀掉,以及删了 key 内存为什么不降(6.2.4 实测)
redis·后端
工程师小爱6 小时前
电芯尺寸合格,不等于电池包尺寸合格
后端
geovindu6 小时前
rust:Memento Pattern(续)
开发语言·后端·设计模式·rust·行为模式·备忘录模
闲云lazycloud6 小时前
第 1 课:Harness 与 Agent 运行时
人工智能·后端
熊哈哈O_o6 小时前
260+异构同步链路:DDL语法自动翻译在大规模数据同步中的实现原理
后端
用户9888321871747 小时前
别把 IOptionsSnapshot 注入单例:从生命周期看 .NET 配置读取
后端