Задать вопрос
  • Как отдать файл с помощью Python?

    @MrFreeZZZ Автор вопроса
    Pavel Denisov, там перед отправкой нужного файла куча всяких проверок и преобразований + работа с БД в python написана.
  • Как отдать файл с помощью Python?

    @MrFreeZZZ Автор вопроса
    Pavel Denisov, т.е. при текущей ситуации файл в браузере начинается скачиваться в любом случае, как нормальный файл при его наличии на сервере и как файл без содержимого при его отсутствии
  • Как отдать файл с помощью Python?

    @MrFreeZZZ Автор вопроса
    Pavel Denisov, я отдаю файл в stdout
    with open(file_to_download, "rb") as f:
                        sys.stdout.write(f.read())
  • Как отдать файл с помощью Python?

    @MrFreeZZZ Автор вопроса
    Pavel Denisov,
    логика написана на python, и сейчас файл отдается как написано в той статье на хабре, т.е. headers формируются в php а сам файл отдается через python,
    но проблема в том что узнать есть такой файл на сервере или нет я могу только после того как обработаю $parameters в скрипте
    задача в том чтобы при отсутствии файла на сервере не отдавать ничего, сейчас же файл скачивается в любом случае, только при его отсутствии на сервере - он пустой, а задача не отдавать ничего, вот я и хотел отдачу header перенести в python

    download.php
    <?php

    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.$name_of_file);
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');

    echo shell_exec('python '.__DIR__.'/download.py '.$parameters);

    ?>