我的 xhtml 中有一个画布元素。String
我通过调用将其转换为名为 dataUrl的 base-64 编码toDataUrl()
。这会产生以下输出,为清楚起见被截断:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAzQAAAImCAYAAACFG89TAAAgAElEQVR4Xu29C7x/5Zj3 [lots of characters...]"
我想将此图像发送到我的 MySQL 数据库。我的实体中有一个 Blob (@Lob) 字段,为了将此字符串转换为字节数组,请使用dataUrl.getData()
此字节数组并更新我的实体。
在我的 MySQL 数据库中,BLOB 已成功创建。但是,当我右键单击它并单击在编辑器中打开文件时,我看到字节选项卡很好,但是当我单击图像选项卡时收到一般错误,表明字节以某种方式损坏。
这意味着当我想读取这个文件时,使用BufferedImage imag = ImageIO.read(is);
where is
is aByteArrayInputStream
和字节数组作为参数,imag
返回 null,更具体地说是类中的read
方法BufferedImage
。
编辑:看截图,第一个是dataUrl.getBytes()
调用,第二个是 MySQL 输出。