Задать вопрос
@compuser21

Как после отправки файла юзеру через send_file() на сайте автоматически удалить отправленный файл на сервере (сайт пишу на flask)?

Занимаюсь разработкой сайта для скачивания музыки и видео с ютуба. Сначала скачивается нужный файл на сервер, подвергается обработке (например, наложение обложки на mp3 файл) и отправляется пользователю. Но, после отправки файла юзеру, он все еще остается на сервере, занимая место.

@app.route('/video/<itag>', methods=['GET', 'POST'])
def video(itag):
    yt = YouTube(input_text)

    title = yt.title

    stream = yt.streams.get_by_itag(int(itag))
    stream.download()

   #дальнейшие действия с файлом...

    return send_file(f'{new_title}.mp4',  as_attachment=True )
  • Вопрос задан
  • 214 просмотров
Подписаться Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
MicroProger
@MicroProger
Работает - не трогай
import os # в импорты
# код дальнейших действий с файлом и его отправкой
os.remove(f'{new_title}.mp4')

os.remove(f'{new_title}.mp4') вписываешь либо вместо
send_file(f'{new_title}.mp4',  as_attachment=True )
в return, а саму эту часть кода перед return, либо return просто засунь в конец функции

Думаю и так понятно, что это над делать после отправки файла пользователю
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы