cherrypy - cherrypy 页面处理程序返回包含字符串和字节对象的组合响应
问题描述
我正在使用 Cherrypy 构建我的 Web 应用程序服务器。在一个页面处理程序中,我的响应正文采用以下格式:
{
"fileId": "=+afeincas340t5u3tg9",
"fileBody": ...(some bytes here)
}
我不能使用json.dumps
,因为这bytes
部分不是 json 可序列化的。如何在我的页面处理程序中返回它并将其返回到前端?
解决方案
您可以使用 base64 序列化文件的二进制内容。
import base64
response = json.dumps({
"fileId": "=+afeincas340t5u3tg9",
"fileBody": base64.standard_b64encode(b"some bytes").decode()
})
在客户端(js)中,您可以使用atob 函数获取原始字节。
推荐阅读
- html - 如何使用我网站上的链接打开特定的电子邮件网站?
- html - 内联块的不透明度
- javascript - HTML/CSS 表格对齐标题和单元格
- python-3.x - 使用 xlsxwritter 添加外部边框
- powershell - 将数据从一台服务器复制到另一台服务器以仅替换/覆盖特定文件夹树中的 0KB 文件
- perl - Perl 期望最大化 DNA 序列的对数赔率分数
- java - java - 如何在长度(),toCharArray(),charAt()等Java方法中使用String类的内置方法而不使用字符串中的重复字符?
- javascript - Javascript 让用户选择一个文本文件,然后从中读取内容
- ios - 从其他类访问颜色信息时,IBInspectable 不起作用
- javascript - 销毁 WebAssembly 实例?