send_file
сообщает контроллеру, что он должен ответить на запрос браузера, отправив файл. - В отличие от рендеринга представления, отправки JSON и т. Д.
При обычном использовании вы отправляете ровно один ответ в HTTP. (Я опускаю обсуждение длинных опросов и других эзотерических типов ответов. Я также опускаю многокомпонентные ответы HTTP, которые обычно не поддерживаются в настоящее время.)
Поскольку вы можете отправить только один файл, сделайте это! Один файл может быть zip-файлом из нескольких файлов, но тогда пользователю потребуется распаковать их.
Альтернативой является отображение нескольких ссылок на скачивание на веб-странице, предлагая пользователю загружать одну за другой для выполнения нескольких загрузок.
В качестве примера UX (User Experience): отправьте электронное письмо себе с несколькими вложениями. Затем используйте GMail и посмотрите, как они представляют несколько файлов для загрузки.