Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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
Python 如何使用flask在浏览器中显示存储在mongodb中的图像/pdf文件?_Python_Mongodb_Flask_Mongoengine_Flask Restful - Fatal编程技术网

Python 如何使用flask在浏览器中显示存储在mongodb中的图像/pdf文件?

Python 如何使用flask在浏览器中显示存储在mongodb中的图像/pdf文件?,python,mongodb,flask,mongoengine,flask-restful,Python,Mongodb,Flask,Mongoengine,Flask Restful,有人能帮我用flask应用程序在浏览器上显示mongodb中存储的图像或pdf文件吗?目前,当我尝试时,我得到200个响应,但浏览器只是空白。这是我使用的函数: 我的mongo文档建模如下: class Users(db.Document): _id = db.StringField() name = db.StringField() picture = db.ReferenceField('fs.files') #holds the reference for the

有人能帮我用flask应用程序在浏览器上显示mongodb中存储的图像或pdf文件吗?目前,当我尝试时,我得到200个响应,但浏览器只是空白。这是我使用的函数:

我的mongo文档建模如下:

class Users(db.Document):
    _id = db.StringField()
    name = db.StringField()
    picture = db.ReferenceField('fs.files') #holds the reference for the file in the database
    upload_picture = db.FileField() #used to load pics via flask into the database
    email = db.StringField()
    password = db.StringField()
    meta = {'collection': 'Users'}
这是我必须检索和显示图像的函数。但是,使用此功能,我会得到一个空白浏览器:

class RetrievePicture(Resource):
    def get(self, id):
        try:
            user = Users.objects(_id=id).first()
            doc = user.picture.read()
            return send_file(io.BytesIO(doc), mimetype='image/png')
        except Users.DoesNotExist:
            return 'Picture not found', 401

我输入浏览器的烧瓶路径应该返回我输入id的特定用户的图片。路线看起来像这样
http://127.0.0.1:5000/api/picture/(id)
是否有人知道我做错了什么,或者有其他使用MongoEngine的解决方案?

似乎您需要
。seek(0)
。以@Valijon为例,我得到了这个错误
TypeError:需要一个类似字节的对象,而不是“文件”
。如何读取文件对象并返回图片?或者我应该问,我可以使用什么来将文件对象转换为可以显示的文件?谢谢