Question

I'm trying to store images in database.This is my code for get an Image :

image = Image.open(...a resource on web...)
imageData = StringIO.StringIO()
image.save(imageData, image.format)
myImage = imageData.getvalue()

But when trying to store in database by this:

myTable.create(...some fields , image=myImage)

I catch an exception with this message:

Bad Request: Invalid STRING constant(ffd8ffe0.. and so on...adss4das) for image of type blob

I previously store images by these codes using Cassandra1.2.9!

But when I installed Cassandra2.0 , this problem happened!

I check my code line by line,and I'm sure that error in the way of storing images in C2.0 or getting image.

Was it helpful?

Solution

I think you're having problems with this: https://github.com/datastax/python-driver/pull/39. I'm sure that cqlengine isn't updated yet to take advantage of that fix (I just merged the pull request today), but that at least explains what the problem is.

As a workaround, you might be able to do something like:

from binascii import hexlify

hex_image = '0x' + hexlify(myImage)
myTable.create(..., image=hex_image)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top