将图像数据 InputStream 转换为字符串并从该字符串返回图像不给出图像
Convert image data InputStream to string and from this string back to image does not gives the image
Cq5 图像组件具有二值图像数据,我要求将此数据暴露在api。
为此,我尝试获取输入流并将其读取为字符串。
InputStream is = jcrnode.getProperty(JcrConstants.JCR_DATA).getBinary().getStream();
String imageData = jcrnode.getProperty(JcrConstants.JCR_DATA).getString();
尝试将字符串写入 FileOutputStream 时,我没有得到图像。
在尝试手动下载 jcr:data 并打开文件时,图像查看器会提供图像。
但是当把它转换成字符串并返回时对我不起作用。对此有何建议。
谢谢@i.net 能够按照您上面的建议解决。
StringBuilder dataUri = New StringBuilder();
dataUri.append("数据:image/jpeg;base64");
dataUri.append(StringUtils.newString Utf8(Base64.encodeBase64(imageByteArray,false)));
dataUri.toString()是可以作为嵌入图片的字符串。
下面的示例 html 以渲染 base64 图像
<div>
<p>refer wiki</p>
<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />
</div>
Cq5 图像组件具有二值图像数据,我要求将此数据暴露在api。
为此,我尝试获取输入流并将其读取为字符串。
InputStream is = jcrnode.getProperty(JcrConstants.JCR_DATA).getBinary().getStream();
String imageData = jcrnode.getProperty(JcrConstants.JCR_DATA).getString();
尝试将字符串写入 FileOutputStream 时,我没有得到图像。
在尝试手动下载 jcr:data 并打开文件时,图像查看器会提供图像。 但是当把它转换成字符串并返回时对我不起作用。对此有何建议。
谢谢@i.net 能够按照您上面的建议解决。
StringBuilder dataUri = New StringBuilder(); dataUri.append("数据:image/jpeg;base64"); dataUri.append(StringUtils.newString Utf8(Base64.encodeBase64(imageByteArray,false)));
dataUri.toString()是可以作为嵌入图片的字符串。
下面的示例 html 以渲染 base64 图像
<div>
<p>refer wiki</p>
<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />
</div>