使用Gridfs Mongo DB和Python保存的二进制数据在一开始就被截断

时间:2018-12-04 19:56:05

标签: python mongodb gridfs gridfs-stream

我正在尝试使用带有Mongo DB的grid FS保存和检索图像。 我尝试保存的图像已成功地在Mongo DB中成块保存。

但是问题是二进制数据的最初几个字符似乎被截断了(不同图像的字符数不同)。因此,当我从Mongo DB和base64检索数据并将其编码为HTML文件时,我什么也看不到。

为了确认,我直接使用base64-image解码了图像,然后将网站中的字符串与保存在本地Mongo DB中的字符串进行了比较。

for output_data1 in DATABASE['road_images'].find({'fileid': ObjectId(_id)}):
    fid = output_data1["fileid"]
    output_data = fs.get(fid).read()
    base64_data = codecs.encode(output_data, 'base64')
    image = base64_data.decode('utf-8')
    image = 'iVBORw0KGgoAAAAN'+image

当我将此字符串传递给HTML模板时,图像似乎已加载。关于此的任何信息将是有帮助的。预先感谢!

0 个答案:

没有答案