Стояла задача дать пользователю возможность скачать файл. Покопавшись в документации, я нашел 2 варианта - хелперы "render_data" и "render_static".
Оба варианта мне не подошли.
"render_data" - принимает строку, а я не хотел вычитывать весь файл в память.
"render_static" - отдает файлы с "public" директории.
"render_data" - принимает строку, а я не хотел вычитывать весь файл в память.
"render_static" - отдает файлы с "public" директории.
render_file
Интернет предложил различные варианты решения проблемы, но какого-то удобного я не нашел, решил написать свой хелпер. Хелпер должен был уметь отдавать файл по абсолютному пути с любой папки без вычитывания файла в память, и чтобы браузер предлагал пользователю файл сохранить, а не пытался рендерить. Так появился "render_file".
Используется он так:
# Provide any file name $self->render_file( filepath => '/tmp/files/file.pdf', filename => 'report.pdf' );