# -*- coding: utf-8 -*- from flask import Flask, jsonify, request from data import * from files import * from file_uploader import upload_file # 导入文件上传的函数 # 初始化 Flask 应用 app = Flask(__name__) # 初始化数据库和表 initialize_database() initialize_table() # 初始化数据库和表 initialize_files_database() initialize_files_table() @app.route('/') def home(): return "Welcome to the Fruit API!" # 添加水果数据 @app.route('/add_fruit', methods=['POST']) def add_fruit(): data = request.json name = data.get('name') origin = data.get('origin') if not name or not origin: return jsonify({"error": "Missing name or origin"}), 400 try: insert_data(name, origin) return jsonify({"message": f"Fruit {name} from {origin} added successfully!"}), 200 except Exception as e: return jsonify({"error": str(e)}), 500 # 获取所有水果数据 @app.route('/fruits', methods=['GET']) def get_fruits(): try: fruits = fetch_data() return jsonify({"fruits": fruits}) except Exception as e: return jsonify({"error": str(e)}), 500 @app.route('/delete_fruit', methods=['POST']) def delete_fruit(): data = request.json name = data.get('name') if not name: return jsonify({"error": "Missing name"}), 400 try: delete_data(name) return jsonify({"message": f"Fruit {name} deleted successfully!"}), 200 except Exception as e: return jsonify({"error": str(e)}), 500 # 上传文件接口 @app.route('/upload', methods=['POST']) def upload(): return upload_file() # 调用封装好的文件上传函数 # 下载文件接口 @app.route('/download/', methods=['GET']) def download_file(filename): from flask import send_from_directory return send_from_directory('uploads', filename) # 运行 Flask 应用 if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=True)