我有一个课程(其中包括)从数据库中检索到的字段图片:
public class Person {
String name;
Blob picture;
}
那么我有一个控制器,我将person对象添加到模型
@RequestMapping(value = "/online", method = RequestMethod.GET)
public String getCurrentUser(Model model) {
Person person = getMyPerson()
model.addAttribute("person", person);
return "online";
}
最后我有一个.jsp页面来显示用户:
<html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
..some tags
Persons name: ${person.name}
Persons picture: ?your_answer_here?
</html>
所以问题(显然)是如何将blob字段显示为图像?我尝试过但失败了。我真的不想对数据库执行新的查询,我只想显示我已有的图像..
答案 0 :(得分:2)
HTTP不允许直接使用此功能。每个图像都需要是对单独URL的单独请求。所以你需要一个接受用户id作为参数的控制器/ servlet,并将blob写入响应流(并适当设置Content-Type
标题 - image / jpeg,image / png等)