Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

4.13. 返回二维码图片

		
import qrcode, logging, io
		
@router.get("/{android_id}/qrcode")
async def device_bind_qrcode(android_id: str):
    try:
        data = f"{android_id}"
        qr = qrcode.QRCode(
            version=1,
            error_correction=qrcode.constants.ERROR_CORRECT_L,
            box_size=20,
            border=2,
        )
        qr.add_data(data)
        qr.make(fit=True)
        img = qr.make_image(fill_color="black", back_color="white")
        out = io.BytesIO()
        img.save(out, "PNG")
        logger.info(f"QR Code: {data}")
        return Response(content=out.getvalue(), media_type="image/png")
    except Exception as e:
        logger.error(e)
        return None