Передача файла через form, создание на этот файл ссылки и передача его в скрипт python Flask
Нужно взять аудио файл и обработать его функцией python, также сохранить в текстовом файле для последующей обработки, все это происходит через фреймворк Flask. Я создал форму и сделал обработчик нажатия на кнопку. Но я не могу передать это файл в функцию которая запускается при нажатии на обработчик.
Вопрос 1: Как лучше работать с файлами напрямую или сохраняя их в БД(папку)?
Вопрос 2: Если файл сохраняется как к его можно взять для дальнейшей обработки функцией?
Подскажите пожалуйста и накидайте код для того. чтобы я разобрался. В интернете информации найти не могу.
import os
from flask import Flask, request, render_template, redirect, url_for, flash, send_from_directory
from test_module import test
from module_audio_to_text import wav_to_text
app = Flask(__name__) # Создаем приложение из класса Flask
app.config['SECRET_KEY'] = 'dsafyvnjdhtDNf9454Dfws' #Секретный ключ для работы с формой
@app.route("/", methods=["POST", "GET"])
@app.route("/index", methods=["POST", "GET"]) # Создаем ссылку на страничку
def index(): # Описываем работу страницы (Приложения)
if request.method == "POST":
if request.form['username'] != '':
flash("Файл загружен")
else:
flash("Ошибка загрузки файла")
return render_template("index.html")
@app.route('/my-link/') # Обработчик нажатия на клавишу
def my_link():
res = wav_to_text()
return render_template("index.html", message=res)
if __name__ == '__main__':
app.run()`
Ответы (1 шт):
Автор решения: AndreiS
→ Ссылка
Если вам просто нужно сохранить файл внутри фласка, то используйте:
if request.form['file'] != '':
f = open('w', 'путь к файлу куда хочешь сохранить')
f.write(request.form['file'])
f.close()
Пж лайкни ответ если поможет