主要是用于下载图片到path位置 注意path 是路径全名 启动时候 可以配置属性 管理员权限运行旧可以存C盘 打包参数 点击运行后没有图标 可以在任务管理器进行管理进程
# -*- coding: utf-8 -*-
from flask import Flask, jsonify, request
from flask_cors import CORS
import subprocess
import threading
import os
import requests
'''
pyinstaller -F --noconsole main.py --icon=itool.ico
'''
# 主Flask应用
app_main = Flask(__name__)
CORS(app_main)
# 主应用的路由
@app_main.route('/api/cmd', methods=['POST'])
def cmd_execution():
cmd = request.json.get('cmd')
if not cmd:
return jsonify({"code":400,'message': 'Missing "cmd" parameter'}), 400
result = subprocess.getoutput(cmd)
return jsonify({"code":200,'message': "success",'data': result})
# 下载图片并保存到指定路径
# 下载图片并保存到指定路径
@app_main.route('/api/download', methods=['POST'])
def download_image():
url = request.json.get('url')
path = request.json.get('path')
if not url or not path:
return jsonify({"code":400,'message': 'Missing "url" or "path" parameter'}), 400
try:
response = requests.get(url)
with open(path, 'wb') as file:
file.write(response.content)
return jsonify({"code":200,'message': "success",'data': path })
except Exception as e:
return jsonify({"code":400,'message': 'Error downloading and saving image: {}'.format(str(e))}), 500
# 返回电脑的用户目录信息
@app_main.route('/api/info', methods=['GET','POST'])
def get_user_info():
user_dir = os.path.expanduser('~')
return jsonify({"code":200,'message': "success","data":user_dir})
# 启动Flask应用的函数
def run_app(app, port):
app.run(host='0.0.0.0', port=port, threaded=True)
# 线程目标函数,用于启动Flask应用
def start_flask_app(app, port):
try:
run_app(app, port)
except Exception as e:
print(f"Error running Flask app on port {port}: {e}")
# 启动两个Flask应用
if __name__ == '__main__':
run_app(app_main, 9966)