Я создал колбу с помощью dropzone, которая принимает видеофайлы в качестве входных данных, и когда я нажимаю кнопку загрузки, видеофайл добавляется / сохраняется в моей папке.Я хочу запустить другое приложение фляги (или, скажем, файл .py), как только я нажму кнопку загрузки и покажу этот видеофайл (тот, который я ранее выбрал) на той же самой странице или на следующей странице.Я новичок в обоих питонах и флягах, вам понадобится помощь.Пожалуйста, ответьте как можно скорее.Вот мой файл app.py
import os
from flask import Flask, render_template, request
from flask_dropzone import Dropzone
basedir = os.path.abspath(os.path.dirname(__file__))
app = Flask(__name__)
app.config.update(
UPLOADED_PATH=os.path.join(basedir, 'uploads'),
# Flask-Dropzone config:
DROPZONE_ALLOWED_FILE_TYPE='video',
DROPZONE_MAX_FILE_SIZE=1024*1024*1024,
DROPZONE_MAX_FILES=20,
DROPZONE_UPLOAD_ON_CLICK=True
)
dropzone = Dropzone(app)
@app.route('/', methods=['POST', 'GET'])
def upload():
if request.method == 'POST':
for key, f in request.files.items():
if key.startswith('file'):
f.save(os.path.join(app.config['UPLOADED_PATH'], f.filename))
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
Here is index.html file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Flask-Dropzone Demo</title>
{{ dropzone.load_css() }}
{{ dropzone.style('border: 2px dashed #0087F7; margin: 10px 0 10px; min-height: 400px;') }}
</head>
<body>
{{ dropzone.create('/') }}
<button id="upload">Upload</button>
{{ dropzone.load_js() }}
{{ dropzone.config() }}
</body>
</html>
, а вот файл main.py (другой файл приложения фляги), который я хочу отобразить на той же или следующей странице.
from flask import Flask, render_template, Response
from camera import VideoCamera
import subprocess
import os
app = Flask(__name__)
from yolo_video1 import videoname
@app.route('/')
def index():
return render_template('index.html')
def gen(camera):
while True:
frame = camera.get_frame()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')
videoname("C:/Users/320/Desktop/video-streaming/input_videos/airport.mp4", "C:/Users/320/Desktop/video-streaming/output_videos/airport.avi")
@app.route('/video_feed')
def video_feed():
return Response(gen(VideoCamera()),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
the index.html file for main.py is here
<html>
<head>
<title>Video Streaming Demonstration</title>
</head>
<body>
<h1>Video Streaming Demonstration</h1>
<img id="bg" src="{{ url_for('video_feed') }}">
</body>
</html>