的圖像。當我試着從一個產品對象爲Base64添加圖像,旁邊似:顯示彈簧啓動休眠和JPA
<tbody>
<tr th:each="product : ${products}">
<td><img th:src="@{'data:image/png;base64,' + ${product.image}}" /></td>
<td th:text="${product.name}"></td>
<td th:text="${product.price}"></td>
<td th:if="${product.state==true}" th:text="Activo" style="color:green;"></td>
<td th:if="${product.state==false}" th:text="Bloqueado" style="color:red;"></td>
<td><a href="#" class="btn btn-info btn-xs" data-toggle="collapse" data-target="#collapse-form">Editar</a><a href="#" class="btn btn-danger btn-xs">Eliminar</a></td>
</tr>
</tbody>
的{$product.image}
的值爲[[email protected]
,但如果我把在日誌中。信息();這給我看based64 string
。我該如何解決它?
這是我的控制器:
@GetMapping("/admin/products")
public ModelAndView index(){
User user = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
ModelAndView mvn = new ModelAndView();
mvn.addObject("user",userServiceImpl.getOne(user.getUsername()));
List<Product> products = productServiceImpl.getAll();
for(Product product : products)
{
byte[] encode = Base64.getEncoder().encode(product.getImage());
product.setImage(encode);
LOG.info(new String(encode));
}
mvn.addObject("products",products);
mvn.setViewName(view);
LOG.info("Se ha ingresado al controlador de productos");
return mvn;
}
您的記錄器只顯示base64編碼,因爲您的代碼執行此操作。查看'LOG.info(new String(encode));'在您的產品循環中 – Pau
https://docs.oracle.com/javase/8/docs/api/java/util/Base64.Encoder.html#encodeToString-byte :A-,https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html#getUrlEncoder-- –
從理論上講,即使編碼顯示圖像,也沒關係我想要顯示,但問題是當我把這個參考$ {product.image}它應該顯示一些東西拉斯本iVBORw0KGgoAAAANSUhEUgAAA58AAADpCAIAAAAs4 ....但只顯示這[B @ 776a398 –