| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- from io import BytesIO
- import os
- from flask import Flask, send_file, request, jsonify, render_template
- from app.gen_units import gen_qr_code, gen_file_url
- app = Flask(__name__, template_folder="../templates", static_folder="../static")
- @app.route('/')
- def index():
- return render_template('index.html')
- @app.route('/json/<filename>', methods=['GET'])
- def handle_get_request(filename):
- path = '../uploads/json/' + filename + '.json'
- return send_file(path)
- # 处理 POST 请求
- @app.route('/json/<filename>', methods=['POST'])
- def handle_post_request(filename):
- path = '../uploads/json/' + filename + '.json'
- return send_file(path)
- @app.route('/json/<filename>', methods=['PUT'])
- def handle_put_request(filename):
- path = '../uploads/json/' + filename + '.json'
- return send_file(path)
- @app.route('/json/<filename>', methods=['DELETE'])
- def handle_delete_request(filename):
- path = '../uploads/json/' + filename + '.json'
- return send_file(path)
- @app.route('/uploads', methods=['POST'])
- def upload_file():
- url = os.environ.get('QR_URL_BASE')
- if request.method == 'POST':
- file = request.files['file']
- url = gen_file_url(file, url)
- return jsonify({'msg': '上传成功!', 'code': 1, 'data': url})
- @app.route('/html/<filename>', methods=['GET'])
- def html_request(filename):
- path = '../uploads/html/' + filename + '.html'
- return send_file(path)
- @app.route('/qrcode', methods=['get'])
- def qrcode():
- url = request.args.get('url')
- img = gen_qr_code(url)
- # 将图片写入 BytesIO 对象
- img_bytes_io = BytesIO()
- img.save(img_bytes_io)
- img_bytes_io.seek(0)
- # 返回二维码图片
- return send_file(img_bytes_io, mimetype='image/png')
- def start():
- app.run(host='0.0.0.0')
|