通过数据库获取本地图片路径,转成base64返显到页面

通过数据库存住的图片文件后缀名以及图片的路径,转换成base64,返显到页面上(页面只需要img标签的src属性等于拿到的值即可),具体代码如下:

        if(!list.isEmpty()){
           String rootPath = SystemUtils.IS_OS_WINDOWS ? "D:/RESOURCE_ROOT" : "/home/RESOURCE_ROOT";
            rootPath = this.getConfig(CFK_RESRC.ROOT_KEY, rootPath);
            for (CoreResrcFile file: list ) {
            // 这里的getCrfileExtention()获取的是图片文件的后缀名
                file.setCrfileServerPath("data:image/"+file.getCrfileExtention()+";base64,"+getImageStrFromPath(rootPath+file.getCrfileServerPath()));
            }
        }
        return list;
    public static String getImageStrFromPath(String imgPath) {
        InputStream in = null;
        byte[] data = null;
        // 读取图片字节数组
        try {
            in = new FileInputStream(imgPath);
            data = new byte[in.available()];
            in.read(data);
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
            return "";
        }
        // 对字节数组Base64编码
        BASE64Encoder encoder = new BASE64Encoder();
        // 返回Base64编码过的字节数组字符串
        String encode = encoder.encode(data);
        return encode.replaceAll("\r\n", "");
    }

 

你可能感兴趣的:(java,java,base64)