from flask import Flask
from flask import request,Response,jsonify
from markupsafe import escape
from flask_cors import CORS # 导入Flask-CORS模块
import os
from zipfile import ZipFile
from io import BytesIO
app = Flask(__name__)
CORS(app) # 在应用上启用CORS
@app.route("/")
def hello_world():
str = ("Rscript D:\\Cocorobo\\test\\RobustVideoMatting\\myPython\\Step03.R")
p = os.system(str)
return "
Hello, World!
"
@app.route("/jidechao", methods=['GET', 'POST'])
def hello(name):
if request.method == "POST":
return f"Hello POST, {escape(name)}!"
else:
return f"Hello GET, {escape(name)}!"
# 设置保存图片的目录
UPLOAD_FOLDER = 'saveImgFile'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
# 允许上传的文件类型
ALLOWED_EXTENSIONS = {'zip'}
# 检查文件类型是否允许
def allowed_file(filename):
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
@app.route("/uploadImage",methods=["POST"])
def get_image_save_file():
print(request.files)
# 检查是否有文件上传
if 'file' not in request.files:
return jsonify({'error': 'No file part'})
file = request.files['file']
# 检查文件名和文件类型
if file.filename == '' or not allowed_file(file.filename):
return jsonify({'error': 'Invalid file'})
# 保存文件
if file and allowed_file(file.filename):
with ZipFile(BytesIO(file.read()), 'r') as zip_ref:
# 解压到指定目录
zip_ref.extractall(app.config['UPLOAD_FOLDER'])
str = ("Rscript D:\\Cocorobo\\test\\RobustVideoMatting\\myPython\\Step03.R")
p = os.system(str)
return jsonify({'message': p, 'filename': file.filename})