2011-02-01 4 views
1

でgridfsだけ私が見たもの、空白の画面である:私はf.readからの出力を書き込む場合は()を参照して、私ができるファイルにMongoのは、私が直接Pythonスクリプトからgridfsから画像を提供したいのpython

#!/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() 

「有効」の画像 私はとローカルFSからこの画像を表示することができ:私が間違って何をしたか

#!/usr/bin/env python 

img = open('image.jpg','rb').read() 
print "Content-type: image/jpeg" 
print "Content-Length: %d\n" % len(img) 
print img 

答えて

0

スクリプトからの生の出力を確認できれば助かります。

チェックするべき点は、応答ヘッダーが正しく終了していることです。 printステートメントは改行文字を出力の最後に追加します。つまり、content-typeヘッダー文字列から2番目の '\ n'を削除できます。

1
fs = gridfs.GridFS(db) 

が嫌な行です。 GridFSコンストラクタは、接続オブジェクトではなく、Databaseのインスタンスを取ります。だから、あなたのような何かをしなければならないでしょう:

conn = Connection() 
db = conn['mydb'] 
fs = gridfs.GridFS(db) 

これは役に立ちます!

関連する問題