Django/Python/toDataURL 返回包含 toDataURL 字符串的响应

2 投票
1 回答
2599 浏览
提问于 2025-04-18 14:52

我在数据库里保存了一个字符串,这个字符串是通过JavaScript的方法toDataURL得到的。你可以在这里查看一个例子:http://pastebin.com/0Qu8rngD

我想在Django的响应中返回这个图片,类似于下面这样:

return HttpResponse(image, mimetype='image/png')

我尝试了很多方法,比如使用base64decode、urlsafe_b64decode、Image等等,但都没有成功。浏览器无法显示这个图片,因为它无法读取响应的数据。

当然,我可以在HTML页面中用<img src="{{image}}">来显示我的图片,这样是可以正常工作的。

1 个回答

5

这张图片是用base64编码的,首先需要解码这张图片:

import base64

...    

data_uri = 'data:...'
image_data = data_uri.partition('base64,')[2]
binary = base64.b64decode(image_data)
return HttpResponse(binary, mimetype='image/png')

撰写回答