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.
Even if you haven't provided the
ClassifiedImages
, I assume you have a field like: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 abyte[]
array and display your image.