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 且成功的童鞋可以告诉我一声如何解决的,或者导致这个问题的原因真的是没有代理实例吗?感激不尽!
 

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号