在flask中,如何将matplotlib绘图图像发送到JSON对象中?

2024-04-20 00:48:06 发布

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

我们正在尝试创建一个在前端使用React,在后端使用Flask的API。作为其中的一部分,需要显示的输出包括四个实体:

2个图像(使用matplotlib生成) 2根绳子。 我已经将这两个字符串都嵌入了一个JSON对象中,但是图像被证明是很困难的。在

有没有办法不存储这些图像,直接将生成的matplotlib图像嵌入到JSON对象中?大多数方法都要求我们指定图像文件名,但是有没有办法跳过保存文件?sendfile()不能工作,因为我们有多个输出,我们的最终目标是JSON响应。在

尝试创建一个临时文件并读取它,这将生成一个缓冲流?Base64不适用于这个?在

提前谢谢你的帮助。在


Tags: 文件对象方法字符串图像实体证明api
1条回答
网友
1楼 · 发布于 2024-04-20 00:48:06

假设您的绘图看起来像您希望的那样,您可以始终使用base64对存储在其中的文件进行编码,然后在另一台计算机上重新生成它。看看:

# assume your plot is saved to tfile
with open(tfile) as fin:
    read_in = fin.read()
    b64_data = base64.urlsafe_b64encode(read_in.decode('utf-8'))
# now send over the network

相关问题 更多 >