Pomocí PIL 1.1.7, redis-2.7.2 pip modulu a redis-2.4.10 se mi podařilo zprovoznit toto:
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()
Našel jsem Image.tostring
nebyl spolehlivý, takže tato metoda používá StringIO
aby se řetězec jevil jako soubor. format=im.format
je potřeba, protože StringIO
nemá "rozšíření". Poté jsem otestoval, že obrazová data byla v pořádku uložena provedením:
redis-cli --raw get 'imagedata' >test.png
a ověření, že jsem dostal zpět obrázek.