save and retrieve image from database using spring

2019-08-14 06:15发布

I am developing an application where I need to store Image into db and retrieve.I have done saving part. I stored an Image in byte[] form.when I am retrieving an Image json returning

jThiODUwMjE0MDNlNGFlZTI2MTk1YjBlNDFlYjAwYTI2MTI4OWRlOGU4NGU0OTFlZGU2NzAzMjE2ODA0N2RkMDY5NTkyODg4NzliOWE1ODlhNTNhYTM1OTYxNzZjNTc4YjcwMTJiZmUyNmY1NTJkNzI1MjhkN2FhZjU0ZmU0MWZmMzVjMWJhYzU2NmU3Y2M4NTUzMTBlNWMxODRhMjczYTIwZjhhNDk1MzU0NzhhN2YxNDgxMmYxNzRhNTVhMDI4YzVkYmI3NzgzNWMzNjZkYjFiNDgwN2JhNTUyNDEzMDAzZTJlZmRjYjNkNzFkZTIzZDNiMmNjYTgyN2I4ZTgzM

goes like this 100lines.Here I am seraching by Image Id.

Rest service:

@RequestMapping(value="/getphoto/{clsfdimageid}", method=RequestMethod.GET)
    @ResponseBody
    public List<ClassifiedImages> getPhoto(@PathVariable int clsfdimageid)
    {
        System.out.println("entered....................");

        return classifiedService.getImage(clsfdimageid);
    }

DaoImpl class:

@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;
    }

How can I retrieve an Image in json with byte[] format. Thanks in advance for your suggestions.

1条回答
聊天终结者
2楼-- · 2019-08-14 06:30

Even if you haven't provided the ClassifiedImages, I assume you have a field like:

private byte[] image;

That string you see it's the Base64 encoded value of your image byte[] array. It's perfectly fine and there's nothing wrong with it. REST and JSON demand every contained field to be serialized as String, byte[] arrays included.

So, in the client code you need a Base64 decoder to take the encoded String and transform it back to a byte[] array and display your image.

查看更多
登录 后发表回答