总结一下目前手头的项目~发现不少知识点的盲区,如下。做个小笔记方便以后复用。
blob,base64互转
最开始编码解码用的是原生base64,encode因为直接从数据库拿到的blob传进入,不允许强转,遂用流重写之;
而decode存入数据库图片打开有问题,就也换了。查了好久没查到导致的原因,总之它可以工作了。
return Base64.decodeBase64(base64Str);
return Base64.encodeBase64String(bytes);
/** * blob转base64 * @param blob * @return */ public static String convertBlobToBase64String(Blob blob) { String result = ""; if(null != blob) { try { InputStream msgContent = blob.getBinaryStream(); ByteArrayOutputStream output = new ByteArrayOutputStream(); byte[] buffer = new byte[100]; int n = 0; while (-1 != (n = msgContent.read(buffer))) { output.write(buffer, 0, n); } result =new BASE64Encoder().encode(output.toByteArray()) ; output.close(); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return result; }else { return null; } } /** * base64转blob * @param str * @return */ public static byte[] transformBase64(String str) { BASE64Decoder decode = new BASE64Decoder(); byte[] b = null; try { b = decode.decodeBuffer(str); } catch (IOException e) { e.printStackTrace(); } return b; }私有方法的测试
@Test public void test_方法名(){ try{ //创建类 ServiceClass service = new ServiceClass(); //指定方法 Method method = ServiceClass.class.getDeclaredMethod("方法名", 参数类型.class); //允许反射调用私有方法 method.setAccessible(true); //执行 System.out.println(method.invoke(service, 参数···)); }catch(Exception ex){ ex.printStackTrace(); } }
GSon的坑
用GSon处理json数据发现这个工具有些比较坑的地方。
比如转换“201609121830”这样的时间字段,会变成科学计数法,很崩溃。只有用new BigDecimal((Double) paramMap.get("DATE")).toString()这样的方法,让它正常显示。
再比如,转换时遇上空字段直接抛错,可以重写原生的一些方法来避免,但不知道为什么调试的时候总是进不去这个方法,网上的教材也是大同小异的,调用方法也很简单,看不出什么错误。遂崩溃,换了Jackson~
/** * JSON转HashMap * @param jsonStr * @return * @throws Exception */ public static Map<String, Map<String, Object>> JSON2HashMap(String jsonStr) throws Exception{ ObjectMapper objectMapper = new ObjectMapper(); Map<String, Map<String, Object>> maps = objectMapper.readValue(jsonStr, Map.class转换的格式); return maps; }
map转json也很简单
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(map);
相关推荐
这个主题"PB PowerBuilder base64 blob 互转"涉及到的是如何在PowerBuilder应用程序中处理base64编码和BLOB(Binary Large Object)数据类型之间的转换。这两种数据类型在不同的场景下都有其独特的作用,而将它们...
具体来说,blob转base64利用了FileReader的readAsDataURL异步读取接口并返回Promise形式确保代码简洁性和健壮性;base64回溯到blob时则通过window.atob解码和Uint8Array创建原始字节序列,最后打包成blob对象。并且给...
Oracle slq bolb转换Base64 CLOB
总的来说,理解图片与Base64编码的互转对于IT从业者来说是相当重要的,它在数据传输、存储和显示方面都发挥着关键作用。而`GetBase64.exe`这样的工具则简化了这一过程,使得非编程人员也能轻松进行操作。
Base64是一种基于64个可打印字符来表示二进制数据的编码方式,它将任意二进制数据转换成可打印的ASCII字符串。在Web开发中,Base64编码常用于在HTTP协议中传输非ASCII字符,如图片、音频或视频等文件,因为HTTP协议...
总结,C#中的Base64字符串与普通字符串互转是通过`System.Convert`类提供的`ToBase64String`和`FromBase64String`方法实现的。在进行转换时,需要确保对字符串的编码有准确的理解,以便正确地转换和还原。在实际应用...
// 将blob对象转换为base64,与上面相同的方法 }, 'image/png'); } else if (newFormat === 'jpg') { canvas.toBlob(function(blob) { // 将blob对象转换为base64,与上面相同的方法 }, 'image/jpeg'); } }; ...
总的来说,这个示例提供了一种有效的方法来处理数据库中的图片存储,通过BASE64编码简化了数据的传输和存储,同时在数据库层面利用Blob类型保持了图片数据的完整性。不过,对于大量图片或需要安全保护的图片,更推荐...
function showFile(sBaseFile){ if (!sBaseFile) { ///文件不存在! } const blob = base64ToBlob(sBaseFile); if (window.navigator && window.navigator....base64ToBlob 方法在txt中,这里放不下了
pb9 BOLB转base64位
BASE64Encoder和BASE64Decoder这两个方法是sun公司的内部方法,并没有在java,api中公开过,所以使用这些方法是不安全的,将来随时可能会从中去除,所以相应的应该使用替代的对象及方法,建议使用apache公司的API。
这些函数可能包括`base64ToBlob`,用于将base64编码转换为Blob,以及可能的`blobToBase64`,用于将Blob对象转换回base64编码。同时,这个库可能还提供了其他图像处理功能,如缩放、裁剪、旋转等。 【package.json】...
此外,要考虑到不同浏览器对Base64编码的图片支持可能有所不同,虽然现代浏览器对此支持良好,但在进行跨浏览器兼容性测试时仍需小心。 综上所述,Python在将图片转换为Base64编码并实现前端显示方面有着简单直接的...
【标题解析】 "图片与Base64加密码字符串相互转换工具" 是一款软件应用,它的主要功能是处理图像文件并进行编码与解码。...6. 源码学习:用户可以借此了解图片编码、Base64编码、加密算法在实际应用中的实现方法。
最近开发遇到blob类型转换为String,一时犯难。所以总结了一段代码与之分享。亲测
这可以通过小程序的`wx.base64ToArrayBuffer`方法完成,将Base64编码的PDF转换为ArrayBuffer对象,这是小程序能理解的数据格式。 3. **利用HTML5的Blob对象**:将ArrayBuffer转换为Blob对象,因为小程序没有直接...
本篇将详细讲解如何在Spring框架下,将图片流转存为Base64编码,并从Base64编码还原回图片。 首先,我们需要理解什么是图片流和Base64编码。图片流是指图片数据的一种序列化形式,它可以是字节流或字符流,通常用于...
内容概要:本文档详细介绍了如何在 JavaScript 中进行图片base64编码和file/blob对象之间的相互转换,针对两种不同转换方向提供了具体的代码实现。包括base64->Uint8Array->new File/Blob的过程,通过拆解base64字符...
pb10调用base64.dll,实现将图片转换成base64编码,将base64编码转换成图片 函数声明 function long GetFileEncode64(ref string filename, ref string encode64)library "base64" alias for "GetFileEncode64;...
public function blob base64decode (string strbuf, ref character lc_return[]) //2013.11.26 //修改了原网上的最后2位字符的bug //修改了原网上解码没有按照标准76字符增加换行符的bug /* 标注base64编码方式 ...