读取并显示mysql中的BLOB图片

本文介绍了一种从MySQL数据库中读取图片并将其显示在前端的方法。通过使用Java的Controller方法,将图片的二进制数据转换为流,并设置响应类型为image/jpeg,使浏览器能够正确解析和显示图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目需要将存入mysql数据库中的图片显示出来,Controller中方法如下:


@RequestMapping(value="/showPicture.do",method=RequestMethod.GET)
    public void getPhotoById (int id,HttpServletResponse response) throws IOException{  
        ShowPictureEntity entity = xxxService.findById(id);  
        byte[] data = entity.getPicture();  
        response.setContentType("image/jpeg");  
        response.setCharacterEncoding("UTF-8");  
        OutputStream outputSream = response.getOutputStream();  
        InputStream in = new ByteArrayInputStream(data);  
        int len = 0;  
        byte[] buf = new byte[1024];  
        while ((len = in.read(buf, 0, 1024)) != -1) {  
            outputSream.write(buf, 0, len);  
        }  
        outputSream.close();  
    }  

注意 entity.getPicture(); 方法返回的是二进制的数组,在对于的实体类中代码如下:

........
.........
private byte[] picture;

在前端界面中直接链接到我们的接口地址,这样就直接已流的形式输出到浏览器,浏览器解析后,即可显示出来,代码如下:

<img src="$!{appRoot}/picture/showPicture.do?id=123"/>

每天进步一点点,心情愉悦一整天哈哈。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值