Django字节IO转换为base64字符串并返回为JSON

2024-04-29 14:52:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是Python3&;我有这段代码,试图将base64从流中取出,并将其返回为json—但不起作用。

       stream = BytesIO()
       img.save(stream,format='png')
       return base64.b64encode(stream.getvalue())

在我看来,我有:

hm =mymap()
    strHM = hm.generate(data)
return HttpResponse(json.dumps({"img": strHM}),content_type="application/json"  )

获取错误不是JSON可序列化的。base64.b64encode(stream.getvalue())似乎给出了字节


Tags: 代码jsonformatimgstreamreturnsavepython3
1条回答
网友
1楼 · 发布于 2024-04-29 14:52:27

在Python 3.x中,^{}接受一个bytes对象并返回一个bytes对象。

>>> base64.b64encode(b'a')
b'YQ=='
>>> base64.b64encode(b'a').decode()
'YQ=='

您需要使用^{}将其转换为str对象:

return base64.b64encode(stream.getvalue()).decode()

相关问题 更多 >