我正在开发一个应用程序,我需要将图像存储到数据库中并检索。我已经完成了保存部分。我以 byte[] 形式存储了一个图像。当我检索返回的图像 json 时
jThiODUwMjE0MDNlNGFlZTI2MTk1YjBlNDFlyjAwYTI2MTI4OWRlOGU4NGU0OTFlZGU2NzAzMjE2ODA0N2RkMDY5NTkyODg4NzliOWE1ODlhNTNhYTM1OTYxNzZjNTc4YjcwMTJiZmUyNmy1NTJk NzI1MjhkN2FhZjU0ZmU0MWZmMzVjMWJhYzU2NmU3Y2M4NTUzMTBlNWMxODRhMjczYTIwZjhhNDk1MzU0NzhhN2YxNDgxMmYxNzRhNTVhMDI4YzVkymI3NzgzNWMzNjZkyjFiNDgwN2J hNTUyNDEzMDAzZTJlZmRjYjNkNzFkZTIzZDNiMmNjYTgyN2I4ZTgzM
像这样 100 行。这里我通过图像 ID 进行搜索。
休息服务:
@RequestMapping(value="/getphoto/{clsfdimageid}", method=RequestMethod.GET)
@ResponseBody
public List<ClassifiedImages> getPhoto(@PathVariable int clsfdimageid)
{
System.out.println("entered....................");
return classifiedService.getImage(clsfdimageid);
}
DaoImpl 类:
@Override
public List<ClassifiedImages> getImage(int clsfdimageid)
{
session = sessionFactory.getCurrentSession();
String sql = "SELECT * from tblclsfdimages where clsfdimageid = :clsfdimageid";
Query query= session.createSQLQuery(sql)
.addEntity(ClassifiedImages.class)
.setParameter("clsfdimageid",clsfdimageid);
List<ClassifiedImages> images = query.list();
return images;
}
如何检索 byte[] 格式的 json 图像。预先感谢您的建议。
最佳答案
即使您没有提供ClassifiedImages
,我也假设您有一个如下字段:
private byte[] image;
您看到的该字符串是图像 byte[]
数组的 Base64 编码值。一切都很好,没有任何问题。 REST 和 JSON 要求将每个包含的字段序列化为字符串,包括 byte[] 数组。
因此,在客户端代码中,您需要一个 Base64 解码器来获取编码的 String
并将其转换回 byte[]
数组并显示您的图像。
关于java - 使用 spring mvc 和 hibernate Rest 服务从数据库保存和检索图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24567553/