【发布时间】:2017-08-02 16:08:19
【问题描述】:
我有一个包含 bytea 列的 postgres 表。此列包含一张图片。
SqlAlchemy 模型将此列定义为LargeBinary。我也尝试过使用BLOB,但它并没有改变任何事情。
我可以轻松地从数据库中检索一个值,我得到的是一个 bytes 类型的变量。
如何对字节数组进行 jsonify 处理?我需要 json 值,所以我可以像这样在cherrypy请求正文中返回它:
data = { 'id_image': image.id_image, 'image': image.value }
【问题讨论】:
-
JSON 不能包含控制字符,因此您必须以某种方式对其进行转义。最简单的方法是对原始二进制文件进行 base64 编码,但这需要 33% 的开销。为什么还需要以 JSON 格式返回二进制文件?您不能将图像返回为
Content-Type: image/jpeg或其他内容吗? -
您可以使用 base64 编码并将您的 blob 表示为 data URI
-
@Kinetic 请将我的回答标记为正确,如果它对你有帮助的话:)
标签: postgresql python-3.x sqlalchemy cherrypy