当我使用get_last_version
从数据库中获取的图像,什么是真正返回,即一个数组,所有的组成文件(作为字符串)块的合并二进制数据,还是其他什么东西?
dbname = 'grid_files'
db = connection[dbname]
fs = gridfs.GridFS(db)
filename = "my_image.jpg"
my_image_file = fs.get_last_version(filename=filename)
我想使用Base64编码my_image_file
有:
import base64
encoded_img_file = base64.b64encode(my_image_file)
return encoded_img_file
但我发现了一个500错误。
我一直无法使用时,搜集什么是真正返回get_last_version
从文档:
http://api.mongodb.org/python/current/api/gridfs/#gridfs.GridFS.get_last_version
更多的研究:
我跟着从这篇文章的逻辑:
http://blog.pythonisito.com/2012/05/gridfs-mongodb-filesystem.html
而在服务器上运行的Python的外壳可以看到Binary()
返回-所以我应该能够将此作为上述证明使用Base64编码?:
>>> import pymongo
>>> import gridfs
>>> import os
>>> hostname = os.environ['OPENSHIFT_MONGODB_DB_URL']
>>> conn = pymongo.MongoClient(host=hostname)
>>> db = conn.grid_files
>>> fs = gridfs.GridFS(db)
>>> list(db.fs.chunks.find())
[{u'files_id': ObjectId('52db4d9e70914413718f2ec4'), u'_id': ObjectId('52db4d9e7
0914413718f2ec5'), u'data': Binary('lots of binary code', 0), u'n': 0}]