Hello!
I`m trying to get png bytes from plotly and i use
*py.image.get({})
After that Im trying to encode bytes like
- βdata:image/png;base64,β + str(base64.b64encode(img))
an this doesnt work. I`ve tried
- urllib.parse.quote_from_bytes(img)
but this doesnt work too.
I`ve also try http://freeonlinetools24.com/base64-image to chek the base64 string, but it doesnot worked.
Can i use, somehow, py.image.get to make static image on my web-site ?
Hi @Luidgi
You almost had it with your first bullet. Rather than converting the base64 bytes object to a string using the str
constructor, you need to decode it into a string using the .decode()
method.
img = py.image.get(fig)
img_uri = "data:image/png;base64," + base64.b64encode(img).decode('utf8')
If youβre in the Jupyter Notebook you can check to make sure it worked by displaying img_uri
as follows
from IPython.display import Image
Image(url=img_uri)
Hope that helps!
1 Like
Thanks foe answer!
Also, I found the problem. Thhere are 3 excess characters in string of bytes.
This is wirking now :
- plot_bytes_encode = str(base64.b64encode(img))
plot_bytes_encode = plot_bytes_encode[0:-1]
plot_bytes_encode_fin = plot_bytes_encode[2:]
stringpic = βdata:image/png;base64,β + plot_bytes_encode_fin