如何使用Spring MVC从MySQL数据库显示图像
我正在使用Spring
MVC将MySQL类数据库中的BLOB类型图像存储在Item类Item(itemId,itemName,itemPrice,itemContent,itemImage)中。我已成功将图像存储在数据库中,但是当我尝试在我的jsp中显示图像时,它显示的是二进制文件,例如[B
@ 7fb0c025。
如何在JSP中显示正确的图像(图像存储在MySQL数据库表中)
我的模特班:
@Entity
@Table(name="item")
public class Item {
@Id
@Column(name="ItemId")
@GeneratedValue
private Integer itemId;
@Column(name="ItemName")
private String itemName;
@Column(name="ItemContent")
private String itemContent;
/*
@Column(name="ItemImage")
private ByteArray ItemImage;
*/
@Column(name="ItemPrice")
private int itemPrice;
@Column(name="ItemImage")
private byte[] itemImage;
“ addItem.jsp”可将项目属性与数据库中的图像一起添加。
<form:form modelAttribute="itemAttribute" enctype="multipart/form-data" method="POST" action="${Url}">
<table>
<tr>
<td><form:label path="itemId"></form:label></td>
<td><form:input path="itemId" type="hidden"/></td>
</tr>
<tr>
<td><form:label path="itemName">ItemName:</form:label></td>
<td><form:input path="itemName"/></td>
</tr>
<tr>
<td><form:label path="itemPrice">ItemPrice:</form:label></td>
<td><form:input path="itemPrice"/></td>
</tr>
<tr>
<td><form:label path="itemContent">ItemContent:</form:label>
<td><form:input path="itemContent"/>
</tr>
<tr>
<form:label for="itemImage" path="itemImage">itemImage:</form:label>
<form:input path="itemImage" type="file" />
</tr>
</table>
<input type="submit" value="Save" />
</form:form>
用于显示项目属性和图像的JSP页面。CategoryId:
<tr>
<td><form:label path="categoryName">CategoryName:</form:label></td>
<td><form:input path="categoryName"/></td>
</tr>
</table>
<input type="submit" value="Save" />
<table width: 100%; text-align:center">
<tr>
<th>ItemId</th>
<th>ItemName</th>
<th>ItemPrice</th>
<th>ItemFeatures</th>
<th>Edit</th>
<th>Delete</th>
<th>ItemImage</th>
</tr>
<tbody>
<c:forEach items="${categoryAttribute.item}" var="item">
<tr>
<c:url var="editCUrl" value="/item/edit?bid=${categoryAttribute.categoryId}&cid=${item.itemId}" />
<c:url var="deleteCUrl" value="/item/delete?id=${item.itemId}" />
<td><c:out value="${item.itemId}" /></td>
<td><c:out value="${item.itemName}"/></td>
<td><c:out value="${item.itemPrice}"/></td>
<td><c:out value="${item.itemContent}"/></td>
<td><a href="${editCUrl}">EditItem</a></td>
<td><a href="${deleteCUrl}">DeleteItem</a></td>
<td><c:out value="${item.itemImage}"/></td>
</tr>
</c:forEach>
如何正确显示存储在数据库中的图像?我想我通过在JSP中显示这样的图像来做错了。但是如何在JSP中显示图像?
-
我终于能够在我的jsp上显示图像。我做了什么。
我分别创建了这样的控制器。
@Controller @RequestMapping("/myImage") public class ImageController { @Resource(name="categoryService") private CategoryService categoryService; @Resource(name="itemService") private ItemService itemService; @RequestMapping(value = "/imageDisplay", method = RequestMethod.GET) public void showImage(@RequestParam("id") Integer itemId, HttpServletResponse response,HttpServletRequest request) throws ServletException, IOException{ Item item = itemService.get(itemId); response.setContentType("image/jpeg, image/jpg, image/png, image/gif"); response.getOutputStream().write(item.getItemImage()); response.getOutputStream().close();
在jsp中我做到了
<img src="/Project1/myImage/imageDisplay?id=${item.itemId}"/>
并且图像已成功显示。
-
使用spring MVC从数据库显示图像
2021-02-02 关注 0 浏览92 1答案
-
如何从MySQL数据库检索图像并显示在html标签中
2021-02-02 关注 0 浏览97 1答案
-
如何显示存储在MySql数据库中的BLOB图像?
2021-02-02 关注 0 浏览271 1答案
-
如何使用PHP代码将图像上传到MySQL数据库
2021-02-02 关注 0 浏览117 1答案
-
如何使用PHP代码将图像上传到MySQL数据库
2021-02-02 关注 0 浏览222 1答案
-
在ASP MVC中显示数据库中的图像
2021-02-02 关注 0 浏览76 1答案
-
如何使用php将图像存储在mysql数据库中
2021-02-02 关注 0 浏览115 1答案
-
从数据库中以jsp显示图像
2021-02-01 关注 0 浏览113 1答案
-
如何在JSP页面中从数据库检索和显示图像?
2021-02-02 关注 0 浏览286 1答案
-
PHP和MySQL:从数据库中获取图像
2021-04-20 关注 0 浏览126 1答案