[ Python二维码生成 ]


python二维码生成

  • flask版本
  • fastapi版本
  • 记得安装库
# from flask import Flask, make_response
# import qrcode
# import io

# app = Flask(__name__)

# @app.route("/image")
# def index():
#     qr = qrcode.QRCode(
#         version=3,
#         error_correction=qrcode.ERROR_CORRECT_L,
#         box_size=10,
#         border=4
#     )
#     qr.add_data("https://www.baidu.com/")
#     qr.make(fit=True)
#     img = qr.make_image()
#     out = io.BytesIO()
#     img.save(out, format='jpeg')
#     # 创建response对象
#     resp = make_response(out.getvalue())
#     #设置response的headers对象
#     resp.headers['Content-Type'] = 'image/jpeg'
#     resp.headers['image-focus'] = 14521.6
#     return resp


# if __name__ == '__main__':
#     app.run(debug=True, host="0.0.0.0", port=8000)



###########
# fastapi
###########

import qrcode
import io
from fastapi import FastAPI 
from fastapi.responses import StreamingResponse, Response
import uvicorn
app = FastAPI()


@app.get("/image")
def read_root():
    qr = qrcode.QRCode(
        version=3,
        error_correction=qrcode.ERROR_CORRECT_L,
        box_size=10,
        border=4
    )
    qr.add_data("https://www.baidu.com/")
    qr.make(fit=True)
    img = qr.make_image()
    out = io.BytesIO()
    img.save(out, format='jpeg')
    # 创建response对象
    res = Response(out.getvalue(), media_type='image/jpeg')
    return res


if __name__ == '__main__':
    uvicorn.run(app, host='0.0.0.0', port=8000)