将JSP EL字节[]转换为图像吗?

时间:2018-07-23 10:32:05

标签: jsp servlets jstl el

我有一个如下所示的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”

如果需要更多信息,请告诉我。谢谢。

1 个答案:

答案 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"/>