【发布时间】:2015-03-04 11:39:23
【问题描述】:
我通过Hibernate 将图像保存并加载到MySQL 5.5 数据库,在java 中为byte[],在数据库中为blob。尽管如此,当我无法在jsp 中显示它时。
我的控制器:
@RequestMapping(value = "/productPicture/{productPictureId}/edit", method = RequestMethod.GET)
public String productPictureEditGET(@PathVariable("productPictureId") int productPictureId, HttpServletRequest request, Model model) {
ProductPictureFormBO productPicture = productPictureService.getById(productPictureId, ProductPictureFormBO.class, ProductPictureEntity.class);
byte[] encoded=org.apache.commons.codec.binary.Base64
.encodeBase64(productPicture.getPicture());
String encodedString = new String(encoded);
model.addAttribute("image",encodedString);
model.addAttribute("productPicture", productPicture);
return "productPicture/editView";
}
然后在 jsp 中两个元素都不显示任何东西...:
<img src="data:image/jpeg;base64,${image}" alt="..." width="200" height="200">`
<img src="data:image/jpeg;base64,${productPicture.picture}" width="200" height="200">`
jsp中的结果:
<img src="data:image/jpeg;base64,MTA4ODg4MTdfMTAyMDM1NjkyNTEzMzQ1MThfNzg0MzE4ODI3Mjc5Mjk0NTQ3MF9uLmpwZw==" width="200" height="200">
<img src="data:image/jpeg;base64,[B@1666a2e3" width="200" height="200">
知道我缺少什么以及如何解决它吗?
【问题讨论】:
-
结果 HTML 中实际生成了什么?
-
您可能应该告诉我们
image里面有什么(假设它不是太大)。或者分享一个显示生成的 DOM 的屏幕截图.. -
我已经更新了我的帖子...
-
您是否需要将它们显示为数据 url 而不是常规图像?
-
哦!你完全正确!问题不在此显示视图中,而在保存事件中,我只保存上传图像的名称而不是图像本身! :) 谢谢你帮我弄清楚发生了什么:)
标签: java spring hibernate jsp spring-mvc