Ace*_*Ace 4 python redis python-imaging-library
我正在使用python和Image模块(PIL)来处理图像.
我想将图像对象的原始位流存储到redis,以便其他人可以使用nginx和httpredis直接从redis读取图像.
所以,我的问题是如何获取Image对象的原始位并将其存储到redis中.
cwg*_*gem 14
使用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()
Run Code Online (Sandbox Code Playgroud)
我发现这Image.tostring
不可靠,所以这个方法StringIO
用来使一个字符串看起来像一个文件.这format=im.format
是必需的,因为StringIO
没有"扩展".然后我测试了图像数据保存好了:
redis-cli --raw get 'imagedata' >test.png
Run Code Online (Sandbox Code Playgroud)
并验证我得到了一张图片.
归档时间: |
|
查看次数: |
6108 次 |
最近记录: |