从db2数据库读取blob类型图片数据并在前端页面显示

最近要写一个需求,从db2中读取图片数据,blob类型,然后在前端页面显示,采用的是前后端分离的开发模式,使用下面这种方式,可以忽略前端,前端不需要动代码,就可直接显示。。

直接上代码:

sql:只给大家截取关键部分,select   xmlgroup(pe.PictureData) as PictureData   from   ET_PICTURE pe;

java:

public List<IdeaBlockSelectionVo> selectBlockDatas(Map<String, Object> map) {
    List<IdeaBlockSelectionVo> vos = ideaBlockSelectionDao.selectBlockDatas(map);
    for (IdeaBlockSelectionVo v:vos) {
        String str = getTotalMidValue(v.getPictureData(),"<PICTUREDATA>","</PICTUREDATA>");
        v.setPictureData("data:image/jpeg;base64,"+str);
    }
    return vos;
}
 
public  String getTotalMidValue(String source, String priStr, String suxStr) {
    if (source == null)
        return null;
    int iFirst = source.indexOf(priStr);
    int iLast = source.lastIndexOf(suxStr);
    if (iFirst < 0 || iLast < 0)
        return null;
    int beginIndex = iFirst + priStr.length();
    return source.substring(beginIndex, iLast);
}

关键代码完成,最主要的思路就是  使用 xmlgroup 将二进制数据直接转换成 xml格式文件,然后可以直接截取标签中的内容,不需要解析,太蛮烦,然后返回前端时直接 拼接 data:image/jpeg;base64 就可以。。

前端就可以直接显示图片了。。

猜你喜欢

转载自blog.csdn.net/Zhang_521521/article/details/82684766
今日推荐