Java将二进制流转Base64字符串并在页面显示(附Base64转二进制流)
java代码如下:
/**
* 二进制流转Base64字符串*
* @param data 二进制流
* @return data
* @throws IOException 异常
*/
public static String getImageString(byte[] data) throws IOException {
BASE64Encoder encoder = new BASE64Encoder();
return data != null ? encoder.encode(data) : "";
}
/**
* Base64字符串转 二进制流
*
* @param base64String Base64
* @return base64String
* @throws IOException 异常
*/
public static byte[] getStringImage(String base64String) throws IOException {
BASE64Decoder decoder = new sun.misc.BASE64Decoder();
return base64String != null ? decoder.decodeBuffer(base64String) : null;
}
前台页面代码如下:
前台用的是freemarker模板引擎
<td style="padding: 5px" rowspan="4">
<#if (picList??) >
<div class="ylMarquee">
<ul>
<#list picList as pl>
<li style='float:left;'>
<img id='img_${pl.sf_id}' src='data:image/jpeg|png|gif;base64,${pl.base64String}' width='120' height='160'
style='border:none; padding-right:5px;'/>
</li>
</#list>
</ul>
</div>
</#if>
</td>
效果如图: