Ved at bruge PIL 1.1.7, redis-2.7.2 pip-modul og redis-2.4.10 kunne jeg få dette til at virke:
import Image
import redis
import StringIO
output = StringIO.StringIO()
im = Image.open("/home/cwgem/Pictures/portrait.png")
im.save(output, format=im.format)
r = redis.StrictRedis(host='localhost')
r.set('imagedata', output.getvalue())
output.close()
Jeg fandt den Image.tostring
var ikke pålidelig, så denne metode bruger StringIO
for at få en streng til at se ud som en fil. format=im.format
er nødvendig, fordi StringIO
har ikke en "udvidelse". Jeg testede derefter, at billeddata blev gemt okay ved at gøre:
redis-cli --raw get 'imagedata' >test.png
og bekræfter, at jeg har fået et billede tilbage.