Fork me on GitHub

BLOB转BASE64—— 详细工具类(可直接使用、非代理方式)

前言:之前有写过一个相同的文章:BLOB转BASE64—— 详细工具类(可直接使用),但是发现在数据持久层框架 - MyBatis 处理得到的结果中,blob再通过之前的那种代理的方式进行转化成Base64 的String类型的话会有问题,会报错误,错误信息如下所示:

在这里插入图片描述

提示代理错误,在网上看到有些说是因为没有代理实例的问题。还有些说什么的都有,简单的尝试了一下,发现不行,果断换路,使用了非代理式处理,代码如下,直接奉上:

 1 // BLOB 转 BASE64 String
 2     /*
 3      * @Description :将BLOB类型数据转化成BASE64类型
 4      * @param : blobDate ———— Object类型的数据,直接扔进去就好
 5      */
 6     public static String getBase64InBlobForMybatis(Object objDate) throws IOException {
 7         logger.info(objDate+":From Object to Blob, then from Blob to String ");
 8         String result = new String();
 9         Blob blob = (Blob) objDate;
10         try {
11             byte[] valueArr = null;
12             if (null != blob){
13                 valueArr = blob.getBytes(1L, (int) blob.length());
14             }
15             result = Base64.encode(valueArr);
16         } catch (SQLException e) {
17             e.printStackTrace();
18         }
19         return result;
20     }

 

上面这个代码放到工具类里,可以直接使用,亲测有效(项目中真实使用的);


pass:处理过 not a proxy instance 且成功的童鞋可以告诉我一声如何解决的,或者导致这个问题的原因真的是没有代理实例吗?感激不尽!

posted @ 2020-07-20 17:23  90后程序猿  阅读(1083)  评论(0)    收藏  举报
/* 看板娘 */