Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python/PIL将图像存储到redis中_Python_Redis_Python Imaging Library - Fatal编程技术网

如何使用python/PIL将图像存储到redis中

如何使用python/PIL将图像存储到redis中,python,redis,python-imaging-library,Python,Redis,Python Imaging Library,我正在使用python和图像模块(PIL)来处理图像 我想将图像对象的原始比特流存储到redis,以便其他人可以使用nginx和httpredis直接从redis读取图像 因此,我的问题是如何获取图像对象的原始位并将其存储到redis中。使用PIL 1.1.7、redis-2.7.2 pip模块和redis-2.4.10,我能够实现以下功能: import Image import redis import StringIO output = StringIO.StringIO() im =

我正在使用python和图像模块(PIL)来处理图像

我想将图像对象的原始比特流存储到redis,以便其他人可以使用nginx和httpredis直接从redis读取图像


因此,我的问题是如何获取图像对象的原始位并将其存储到redis中。

使用PIL 1.1.7、redis-2.7.2 pip模块和redis-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
我得到了一张照片

import redis
r =  redis.StrictRedis()
img = open("/path/to/img.jpeg","rb").read()
r.set("bild1",img)
我也在这里工作