我有一个如下所示的jsp页面:
<c:forEach var="employeeVO" items="${list}">
<img src="data:image/jpeg;base64,${employeeVO.employee_pic}" alt="Card image cap"/>
<h5>${employeeVO.employee_position}</h5>
<p>${employeeVO.employee_salary}</p>
</c:forEach>
其中$ {employeeVO.employee_position}和$ {employeeVO.employee_salary}都可以正常工作,因为它们都是String类型
我的问题是$ {employeeVO.employee_pic},这将返回byte [],但我不知道如何隐瞒它作为合法来源?
当我检查页面源代码时,它显示如下:
src =“ data:image / jpeg; base64,[B @ 59e9139b”
如果需要更多信息,请告诉我。谢谢。
答案 0 :(得分:0)
您不能简单地用html表示byte []。
在编写html时,可以将文件数据表示为base64格式。问题在于您不是在发送base64字符串,而是在字节[]。
您需要以读取数据的方式公开数据。也就是说,有必要将其表示为base64字符串。
为此,您可以在employeeVO中创建一个getter,该getter以base64字符串返回文件的表示形式。例如
public String getEmployee_picAsBase64 (){
... do logic to convert file in a base64 string and return it.
}
然后,您可以使用html编写此代码:
<img src="data:image/jpeg;base64,${employeeVO.employee_picAsBase64}" alt="Card image cap"/>