如何使用GridFS检索文件

1 投票
1 回答
2203 浏览
提问于 2025-04-17 20:19

我用Python把图片文件插入到MongoDB的gridfs里,现在我想用另一个函数把这个文件取出来。我该怎么做呢?我正在使用Django和Python(2.7)。谢谢大家的帮助!

def file_grid(request):
   datafile = open('jobs.jpg',"r");
   thedata = datafile.read()
   fs = gridfs.GridFS(db)
   stored = fs.put(thedata, filename="testimage")
   return HttpResponse("inserted")

1 个回答

2
fs = gridfs.GridFS(db)
gridout = fs.get_last_version("testimage")

gridout对象是一个用来读取文件的GridOut实例。你可以通过gridout.read()一次性获取所有的字节,或者像下面这样逐块读取字节:

for chunk in gridout:
    do_something_with(chunk)

默认情况下,GridFS的每块大小大约是256千字节。

撰写回答