पीआईएल 1.1.7, रेडिस-2.7.2 पीआईपी मॉड्यूल, और रेडिस-2.4.10 का उपयोग करके मैं यह काम करने में सक्षम था:
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()
मैंने पाया कि Image.tostring
विश्वसनीय नहीं था, इसलिए यह विधि StringIO
. का उपयोग करती है एक स्ट्रिंग को एक फ़ाइल के रूप में प्रकट करने के लिए। format=im.format
की आवश्यकता है क्योंकि StringIO
"एक्सटेंशन" नहीं है। मैंने तब परीक्षण किया था कि छवि डेटा ठीक से सहेजा गया था:
redis-cli --raw get 'imagedata' >test.png
और पुष्टि करते हुए कि मुझे एक छवि वापस मिल गई है।