我的flask需要通过传入的url参数,通过qrcode库生成二维码图片,然后将它写入流中返回。
import qrcode
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=1
)
qr.add_data(url)
img = qr.make_image()
生成的qrcode.image.pil.PilImage对象并没有太多的方法可用,
但可以通过:img.convert("RGBA”)能得到一个PIL.Image.Image对象
我想请教:
1.如何把这个Image对象,通过流读出来。
2.如何把这个流通过flask写给请求者。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PilImage 的源码看到有个save 方法
那么针对这个stream可以用Python的io库搞定。
参考 Flask-QRcode中的实现即可
具体未测,你可以试试。
刚好我写过个功能,代码贴一下吧。
cache_timeout=0非常重要,不然有可能被取得上次缓存。文件地址:https://github.com/ZhangBohan/KoalaAPI/blob/master/KoalaAPI/api_v1/qr_views.py
代码基于python2的,如果是python3考虑把
StringIO改为io.BytesIO