Отправка файла Python (файл .py приложения колбы) на кнопку загрузки HTML и отображение видео на той же или другой странице - PullRequest
0 голосов
/ 08 мая 2019

Я создал колбу с помощью 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...