python - 从 POST 解码 base64 以在 PIL 中使用

标签 python flask base64 python-imaging-library pillow

我正在 Flask 中创建一个简单的 API,它接受以 base64 编码的图像,然后使用 Pillow 对其进行解码以进行进一步处理。

我查看了一些示例(123),我想我明白了这个过程的要点,但我一直收到一个错误,即 Pillow 无法读取字符串 I给了。

这是我目前所得到的:

import cStringIO
from PIL import Image
import base64

data = request.form
image_string = cStringIO.StringIO(base64.b64decode(data['img']))
image = Image.open(image_string)

给出错误:

IOError: cannot identify image file <cStringIO.StringIO object at 0x10f84c7a0>

最佳答案

您应该尝试以下方法:

from PIL import Image
from io import BytesIO
import base64

data['img'] = '''R0lGODlhDwAPAKECAAAAzMzM/////wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLl
N48CXF8m2iQ3YmmKqVlRtW4MLwWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw==''' 

im = Image.open(BytesIO(base64.b64decode(data['img'])))

您的data['img']字符串不应包含 HTML 标签或参数 data:image/jpeg;base64在示例 JSFiddle 中。

为了便于阅读,我已经更改了我从 Google 获取的示例的图像字符串。

关于python - 从 POST 解码 base64 以在 PIL 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26070547/

相关文章:

python - Pandas 中系列子集的条件变换

python - 如何在 Django 服务器启动时打印 ascii 横幅?

python - Flask Api 解析返回错误的 xml post 请求

PHP - 获取 base64 图像字符串解码并另存为 jpg(结果为空图像)

ruby base64 编码/解码/解包 ('m' ) 麻烦

python - 随机出现错误消息,我很困惑为什么会发生这种情况?

python - 使用 Bootstrap 和 Django

objective-c - 如何从 JSON 中解析 base64 图像

在 docker 上运行时 Python flask reloader "Errno 2 No such file or directory"错误

jquery - 如何在 Flask 应用程序的同一页面上发布输出结果?