我正在python上绘制一些图像,我想将它们发送到mySQL数据库。
为此,我当前正在保存图像,然后打开并将其转换为base64。
我要避免保存图像。我该怎么办?
下面显示了我当前用于保存图像的python代码:
import matplotlib.pyplot as plt
plt.figure(1) # create figure
plot(t, x, 'r.-') # plot x values (red)
plot(t, y, 'g.-') # plot y values (green)
plot(t, z, 'b.-') # plot z values (blue)
legend(['x','y','z']) # label the plotted lines
savefig("sample_test.jpeg") # save figure
打开图像的代码是:
img = open("sample_test.jpeg")
img_b64 = base64.b64encode(img .read())
答案 0 :(得分:0)
我认为应该是这样,将图像保存到缓冲区中并再次读取。
from io import BytesIO
buf = BytesIO()
fig.savefig(buf, format="png")
data = base64.b64encode(buf.getbuffer())
我不是数据库专家,但也许您也想转换为ascii,
data = data.decode("ascii")