from flask import Flask, jsonify, abort, request
from pyzxing import BarCodeReader # 轮子地址:https://github.com/ChenjieXu/pyzxing
import urllib
import random
import requests
import os
app = Flask(__name__)
app.config.update(RESTIFUL_JSON=dict(ensure_ascii=False))
@app.route("/")
def api_root():
return "welcome"
@app.route('/qrcode/decode',methods = ["POST"])
def add_student():
fileName = ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba', 8))
fileName = "/data/httpd/qrcode/" + fileName
imgUrl = request.json['url']
print(imgUrl)
try:
pic = requests.get(imgUrl, timeout=5)
with open(fileName,"wb") as f:
f.write(pic.content)
f.close()
except requests.exceptions.ConnectionError:
return jsonify({"message" : "无法下载图片到本地", "code": -1}), 200
reader = BarCodeReader()
b = reader.decode(fileName)
s = str(b)
position1 = s.index("\'raw\': b\'")
position2 = s.index("\'", position1 + 9)
os.remove(fileName)
return jsonify({"content" : s[position1+9:position2], "file_name": fileName, "code": 0}), 200
if __name__ == '__main__':
print("ok")
app.run(host='0.0.0.0', port=13800)
网友评论