环境
- python 3.6 你换成其他3x的版本也没关系
- flask
项目很小,主要是演示一下使用flask接收页面上传的文件的方法。项目包含一个批量示范页面。
演示页面文件,为了方便演示。我把html,css和js写在一起了
演示页面 demo.html
批量上传演示页
0%
服务端的文件也很简单 server.py
# -*- coding: utf-8 -*-
from flask import Flask
from flask import render_template
from flask import request
import json
import os
app = Flask(__name__)
port = 7002
root_dir = os.path.dirname(os.path.realpath(__file__))
resource_dir = os.path.join(root_dir, 'resource')
@app.route("/")
def upload_demo():
"""上传页面"""
return render_template("upload_demo.html", page_title="批量上传")
@app.route("/file/", methods=['post', 'get'])
def file_func(action):
"""
:param action: 动作, save/get(保存/获取)
:return:
"""
mes = {"message": "success"}
if action == "save":
"""保存文件"""
if os.path.exists(resource_dir):
pass
else:
os.makedirs(resource_dir)
for key_name, file_storage in request.files.items():
if file_storage is not None:
file_name = file_storage.filename
file_storage.save(os.path.join(resource_dir, file_name))
file_storage.close()
elif action == "get":
"""获取文件/图片,未实现"""
pass
return json.dumps(mes)
if __name__ == '__main__':
app.run(host="0.0.0.0", port=port, debug=True, threaded=True)
项目的目录结构也很简单。