| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 注:同次提交下的esp32程序配套的上传拍照文件的python flask程序,提供上传接口。
- from flask import Flask, request, jsonify
- import os
- import datetime # 导入 datetime 模块
- app = Flask(__name__)
- # 配置上传文件夹
- UPLOAD_FOLDER = 'uploads'
- app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
- # 设置允许上传的文件类型
- ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif'}
- # 检查文件扩展名是否允许上传
- def allowed_file(filename):
- return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
- # 上传照片的路由
- @app.route('/upload', methods=['POST'])
- def upload_file():
- if 'file' not in request.files:
- return jsonify({'message': 'No file part'}), 400
- file = request.files['file']
- # 如果用户没有选择文件
- if file.filename == '':
- return jsonify({'message': 'No selected file'}), 400
- if file and allowed_file(file.filename):
- timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
- extension = file.filename.rsplit('.', 1)[1].lower()
- filename = f"{timestamp}.{extension}"
- # 生成保存路径
- file_path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
- file.save(file_path)
- return jsonify({'message': 'File uploaded successfully', 'filename': filename}), 200
- return jsonify({'message': 'File not allowed'}), 400
- if __name__ == '__main__':
- # 创建上传文件夹
- if not os.path.exists(UPLOAD_FOLDER):
- os.makedirs(UPLOAD_FOLDER)
- # 启动 Flask 应用,并指定端口为 7002
- app.run(debug=True, host='0.0.0.0', port=7002)
|