我想直接从python脚本提供来自gridfs的图像,但我看到的只是空白屏幕:
#!/usr/bin/env python
from pymongo import Connection
import gridfs
db = Connection().gridfs_example
fs = gridfs.GridFS(db)
f= fs.get_last_version('myimage')
print "Content-type: %s \n\n " % f.content_type
print "Content-Length: %d \n\n" % f.length
print f.read()如果我将f.read()的输出写到文件中,我可以看到“有效的”图像,我可以使用以下命令从本地文件系统显示此图像:
#!/usr/bin/env python
img = open('image.jpg','rb').read()
print "Content-type: image/jpeg"
print "Content-Length: %d\n" % len(img)
print img我做错了什么?
发布于 2013-11-15 07:28:41
fs = gridfs.GridFS(db)是令人不快的一行。GridFS构造函数接受数据库的实例,而不是connection对象。所以你必须做一些类似这样的事情:
conn = Connection()
db = conn['mydb']
fs = gridfs.GridFS(db)希望这能有所帮助!
发布于 2011-05-08 03:40:36
如果我们能从你的脚本中看到一些原始的输出,那将会有所帮助。
需要检查的一件事是响应头是否正确终止。print语句将一个换行符添加到输出的末尾,这意味着您可以从content-type标题字符串中删除第二个'\n‘。
https://stackoverflow.com/questions/4861116
复制相似问题