1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| from flask import Flask, views, request, jsonify
app = Flask(__name__)
pkey = 'xxxxxx' host = '127.0.0.1' port = 9080 data = {'code': 200, 'msg': None} # use: # curl -F "rfile=@d:\12.txt" -F "ukey=xxxxxx" http://127.0.0.1:9080/upfile
class UpFile(views.MethodView): methods = ['GET', 'POST'] decaorators = ['app.route']
def get(self): data['code'] = 202 data['msg'] = 'forbidden' return jsonify(data)
def post(self): ukey = request.form.to_dict().get('ukey') rfile = request.files.get('rfile') if ukey == pkey and rfile is not None: rfilename = rfile.filename rfile.save(rfile.filename) data['msg'] = '%s upload success' % rfilename else: data['code'] = 201 data['msg'] = 'error' return jsonify(data)
app.add_url_rule("/upfile", view_func=UpFile.as_view("upfile"))
if __name__ == '__main__': app.run(host=host, port=port)
|