маршрут приложения - как вернуть мой результат на той же веб-странице, под формой - PullRequest
0 голосов
/ 28 марта 2020

У меня есть программа, в которую я загружаю файл, и он выполняет распознавание голоса. Но он отображает результат на другой странице, я использовал app.route. Но я хочу отобразить результат на той же странице, где у меня есть кнопка «Отправить». Я знаю, что мне нужно сделать это с ajax, но я не понимаю как. Моя программа выглядит следующим образом:

 @app.route('/', methods=['GET', 'POST'])
 def upload_file():
 if request.method == 'POST':
     # check if the post request has the file part
     if 'file' not in request.files:
         flash('No file part')
         return redirect(request.url)
     file = request.files['file']
     # if user does not select file, browser also
     # submit an empty part without filename
     if file.filename == '':
         flash('No selected file')
         return redirect(request.url)
     if file and allowed_file(file.filename):
         filename = secure_filename(file.filename)
         fileLocation = os.path.join(app.config['UPLOAD_FOLDER'], filename)
         file.save(fileLocation)
         convertedFile = normalize_file(fileLocation)
         os.remove(fileLocation)
         return redirect(url_for('transcribe',
                                 filename=convertedFile))
 return render_template("result.html")

@app.route('/results/<filename>') def transcribe(filename):
 global transcription_in_progress
 if(transcription_in_progress):
     print("Oh no! Another transcription was in progress, waiting 5 seconds...")
     time.sleep(5)
     transcribe(filename)
 print("Starting transcription...")
 transcription_in_progress = True
 fs, audio = wav.read(os.path.join(app.config['UPLOAD_FOLDER'], filename))
 processed_data = ds.stt(audio)
 os.remove(os.path.join(app.config['UPLOAD_FOLDER'], filename))
 transcription_in_progress = False
 return processed_data

, а файл html:

<html lang="en">
 <head>
  <title>Example 1</title>
 </head>
 <body>
     <div class="center-align">
     <h1>Stephanie's speech recognition app</h1>
     <form method=post enctype=multipart/form-data>
       <input type=file name=file >
      <div>
        <button>Submit</button>
      </div>
       <input type=submit value=Upload>
     </form>
     </div>
  </body>
 </html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...