我正在使用python 3&我有这段代码,试图让base64退出流,并以json的形式返回N,但不起作用.

       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=='

您需要使用bytes.decode将其转换为str对象:

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

Python-3.x相关问答推荐

如何在Python Matplotlib中在x轴上放置点

Python3和请求-超文本标记语言:试图抓取一个网站-没有取回真正的超文本标记语言代码

在 string.find() 条件下加入两个 Dataframes

如果原始字符串包含正斜杠,如何返回具有不同可能性的新字符串

列出相同索引的Pandas

以编程方式映射 uniprot ID 时如何解决 400 客户端错误?

将字典列表展平为数据框列

Semaphore信号量 Python 的工作原理

Await Future 来自 Executor:Future 不能在await表达式中使用

为什么 setattr 在绑定方法上失败

multiprocessing.Queue 中的 ctx 参数

Python 错误:IndexError:字符串索引超出范围

Python 3.10 模式匹配 (PEP 634) - 字符串中的通配符

如何使 Python3 成为 Geany 中的默认 Python

如何通过命令行将数组传递给python

Python中调用者函数的访问变量

Python 3 与 Python 2 映射行为

如果一个失败,如何取消收集中的所有剩余任务?

SQLAlchemy:如果不存在则创建模式

从 csv 中删除单行而不复制文件