MongoDB从Python编码的值上载错误的二进制字符串
我正在用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
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解码