MongoDB从Python编码的值上载错误的二进制字符串

MongoDB从Python编码的值上载错误的二进制字符串,python,mongodb,base64,pymongo,Python,Mongodb,Base64,Pymongo,我正在用Python使用base64.b64encode转换一个.png文件,然后将二进制字符串上传到MongoDB。但是,上传后,mongodb中存储的值与python中打印出来的值完全不同 encoded\u img=base64.b64encode('logo.png')) 打印(编码图像) >>b'iVBORw0KGgoAAAANSUhEUgAAANwAAABKCAYAAADQZTrf。。。 当我转到MongoDB时,会显示以下值: Image : Binary('aVZCT1J3ME

我正在用Python使用
base64.b64encode
转换一个.png文件,然后将二进制字符串上传到MongoDB。但是,上传后,mongodb中存储的值与python中打印出来的值完全不同

encoded\u img=base64.b64encode('logo.png'))
打印(编码图像)
>>b'iVBORw0KGgoAAAANSUhEUgAAANwAAABKCAYAAADQZTrf。。。
当我转到MongoDB时,会显示以下值:

Image
:
Binary('aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU53QUFBQktDQVlBQUFEUVpUcmZBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZK...')

因此,如果我尝试使用

将图像发布到网站,图像将不会呈现。请显示代码,在mongodb中插入数据的位置??看起来像是进行了两次b64编码。也许您正在使用某个Mongo客户端,该客户端需要二进制数据并为您进行转换。如果您尝试编码
ivborw0kggoaaaansuhueugaanwaaabkcayaaadqztrf…
您将收到字符串
avzct1j3methz29bqufbtlnvaevz0…
。因此,您需要将
encoded\u img
转换为字符串,或者将二进制文件传递给mongoclient@Igor我想你是对的。我还考虑使用bson内置的二进制转换器,然后将其上传到MongoDB,然后在javascript webstack端进行b64编码和b64解码