123456789101112131415161718192021222324252627282930313233343536373839 |
- from flask import Blueprint, request, render_template,send_from_directory,current_app
- from flask import render_template, request, redirect, flash, send_from_directory
- from flask import Blueprint, request
- import os
- from werkzeug.utils import secure_filename
- from utils.file_utils import process_files, allowed_file
- index_bp = Blueprint('index', __name__)
- @index_bp.route('/', methods=['GET', 'POST'])
- def index():
- if request.method == 'POST':
- if 'file' not in request.files or 'upload_folder' not in request.form \
- or 'similarity_threshold' not in request.form or 'time_label' not in request.form:
- flash('所有字段都是必填的')
- return redirect(request.url)
- file = request.files['file']
- upload_folder = request.form['upload_folder']
- similarity_threshold = float(request.form['similarity_threshold'])
- time_label = request.form['time_label']
- if file.filename == '' or not allowed_file(file.filename) or not os.path.exists(upload_folder):
- flash('无效的输入')
- return redirect(request.url)
- if file and allowed_file(file.filename):
- filename = secure_filename(file.filename)
- ref_image_path = os.path.join(current_app.config['UPLOAD_FOLDER'], filename)
- file.save(ref_image_path)
- results = process_files(upload_folder, ref_image_path, similarity_threshold, time_label)
- return render_template('result.html', results=results)
- return render_template('index.html')
- @index_bp.route('/uploads/<filename>')
- def uploaded_file(filename):
- return send_from_directory(current_app.config['UPLOAD_FOLDER'], filename)
|