2011-02-01 112 views
1

我想直接從python腳本服務從GridFS的圖像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() 

如果我寫從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語句在輸出結尾添加換行符,這意味着您可以從內容類型頭字符串中刪除第二個'\ n'。

1
fs = gridfs.GridFS(db) 

是違規行。 GridFS構造函數接收數據庫的一個實例,而不是連接對象。所以你將不得不這樣做:

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

希望這會有所幫助!