django bytesIO to base64 String & return as JSON
django, python, python-3.x
Solution
In Python 3.x, `base64.b64encode` accepts a `bytes` object and returns a `bytes` object.
>>> base64.b64encode(b'a')
b'YQ=='
>>> base64.b64encode(b'a').decode()
'YQ=='
You need to convert it to `str` object, using `bytes.decode`:
return base64.b64encode(stream.getvalue()).decode()
Problem
I am using python 3 & I have this code, trying to get base64 out of stream and returnn as json - but not working. ``` stream = BytesIO() img.save(stream,format='png') return base64.b64encode(stream.getvalue()) ``` in my view, I have: ``` hm =mymap() strHM = hm.generate(data) return HttpResponse(json.dumps({"img": strHM}),content_type="application/json" ) ``` getting error is not JSON serializable. base64.b64encode(stream.getvalue()) seems giving bytes