Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MongoDB中按ObjectId而不是image_名称获取图像_Mongodb_Flask - Fatal编程技术网

在MongoDB中按ObjectId而不是image_名称获取图像

在MongoDB中按ObjectId而不是image_名称获取图像,mongodb,flask,Mongodb,Flask,在我的flask应用程序中,我试图检索存储在MongoDB GridFS中的图像。然而,我能找到的唯一工具是mongo.send_file(filename),这个函数似乎只支持使用filename获取图像 由于我有同名的不同图像,我想知道是否还有其他方法可以使用图像文件的唯一ObjectId检索图像?我也一直在处理这个问题。我求助于修改FlaskAPI上的send_file函数。看看我在这里做了什么: 从flask导入当前应用程序,请求 从werkzeug.wsgi导入wrap_文件 从bs

在我的flask应用程序中,我试图检索存储在MongoDB GridFS中的图像。然而,我能找到的唯一工具是
mongo.send_file(filename)
,这个函数似乎只支持使用filename获取图像


由于我有同名的不同图像,我想知道是否还有其他方法可以使用图像文件的唯一ObjectId检索图像?

我也一直在处理这个问题。我求助于修改FlaskAPI上的send_file函数。看看我在这里做了什么:

从flask导入当前应用程序,请求
从werkzeug.wsgi导入wrap_文件
从bson.objectid导入objectid
从gridfs导入gridfs,NoFile
def检索图像(文件id,mongo):
存储=GridFS(mongo.db,“fs”)
尝试:
fileobj=storage.get(file\u id=ObjectId(file\u id))
除NoFile外:
#404
打印()
#大部分是从flask/helpers.py复制的,带有
#GridFS的修改
data=wrap_文件(request.environ,fileobj,buffer_size=1024*255)
响应=当前应用程序响应类(
数据,
mimetype=fileobj.content\u类型,
直接通过=真,
)
response.content_length=fileobj.length
response.last_modified=fileobj.upload_日期
response.set_etag(fileobj.md5)
response.cache\u control.max\u age=31536000
response.cache_control.public=True
响应。使_有条件(请求)
返回响应