我有一个存储在mongodb中fs集合(GridFs)中的字符串文件_id。在
我需要将文件作为mongoengine FileField存储在文档中,然后将文件返回到端点。。。所以访问文件的内容、内容类型等
我不知道如何用GridFs字符串id创建一个FileField实例?是否可以从FileField获取内容和内容类型?在
我看过的教程都涉及到通过将内容写入mongodb来创建FileField,区别在于我的内容已经在GridFs中,我有字符串id
class Test(Document):
file = FileField()
test = Test()
test.upload.put(image_file, content_type='image/png')
到目前为止,我已经能够使用id创建一个GridFsProxy对象,并且可以使用这个来读取文件。在
^{pr2}$如果我将GridFSProxy的read()结果存储到FileField();它将作为ObjectID存储在MongoDb中,然后当我检索对象时,似乎无法获得文件的内容类型。 我需要内容类型,因为它对我如何返回文件内容很重要。在
我不知道如何仅使用file_id创建FileField,然后在检索文档时使用它。在
深入了解如何使用FileField(和GridFSProxy)将很有帮助。在
FileField基本上只是一个引用(ObjectId),指向实际的gridfs文档(存储在fs.块/fs文件)。访问content_类型应该很简单,您根本不必使用GridFSProxy类,请参见以下内容:
相关问题 更多 >
编程相关推荐