1. 程式人生 > >從db2資料庫讀取blob型別圖片資料並在前端頁面顯示

從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 就可以。。

前端就可以直接顯示圖片了。。