Принудительное скачивание с использованием инертных хапий - PullRequest
0 голосов
/ 22 мая 2018

В Hapijs v17, как заставить скачать файл?Я использую Inert для обработки статических файлов и каталогов.

server.route({
        method: 'GET',
        path: '/uploads/{file*}',
        handler: (req, h) => {
            return h.file(`./uploads/${req.params.file}`)
            .header('Content-Type', 'application/pdf')
            .header('Content-Disposition', 'attachment; filename=' + req.params.file)
        },
        options: {
            auth: false
        }
});

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете использовать собственный инертный путь , опции , использовать mode : «вложение» и имя файла свойства.

Просто попробуйтевынудите пользователя загрузить файл, и req.params.file будет назначено как имя файла.

server.route({
        method: 'GET',
        path: '/uploads/{file*}',
        handler: (req, h) => {           
             return h.file(`./uploads/${req.params.file}`, {
                mode: 'attachment',
                filename: req.params.file
            });
        },
        options: {
            auth: false
        }
});        
...