java - 使用 spring mvc 和 hibernate Rest 服务从数据库保存和检索图像

标签 java web-services hibernate spring-mvc jpa

我正在开发一个应用程序,我需要将图像存储到数据库中并检索。我已经完成了保存部分。我以 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/

相关文章:

java - Java 会自动并行化递归函数吗?

java - 如何通过eclipse使用Web服务客户端generetad

java - Hibernate @Check 以确保在列中仅出现一次特定值

java - 变换矩阵集属性

java - 使用java Itext获取字体颜色

java - 在 BorderPane 中设置节点位置时出错

java - 无法读取 SOAP 请求和响应中存在的自定义 xsd 命名空间

ios - iOS 应用程序使用 Web 服务需要不同的框架

java - 在 Spring Boot 2.1 中重写 Hibernate ConnectionProvider

java - Hibernate中的单向一对多映射产生冗余更新