我正在使用 python 3 并且我有这段代码,试图从流中获取 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()) 似乎给出字节数
最佳答案
在 Python 3.x 中,base64.b64encode
接受一个 bytes
对象并返回一个 bytes
对象。
>>> base64.b64encode(b'a')
b'YQ=='
>>> base64.b64encode(b'a').decode()
'YQ=='
您需要将它转换为str
对象,使用bytes.decode
:
return base64.b64encode(stream.getvalue()).decode()
关于python - django bytesIO 到 base64 字符串并作为 JSON 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27241996/