Экспресс рендеринга и загрузки файла одновременно - PullRequest
0 голосов
/ 31 августа 2018

Я хотел бы использовать экспресс для рендеринга файла и одновременной загрузки файла

Мой текущий код выглядит следующим образом:

res.attachment('filename.csv');
res.render('pages/result', { data });

Однако, если я это сделаю, он только загружает данные и не отображает представление

Мне нужно отрисовать страницу успеха, а затем отправить файл для загрузки

Мне нужно, чтобы это было сделано с 1 конечной точкой, потому что мне нужно сгенерировать файл, и только если он успешен, я бы отобразил страницу успеха

Могу ли я сделать это с 1 конечной точкой?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 августа 2019

отправьте путь к файлу на страницу рендеринга как переменную и напишите функцию в javascript для автоматической загрузки файла.

res.render('pages/result', { path: '../folder/filename.csv'});

на странице визуализации

<iframe id="my_iframe" style="display:none;"></iframe>
<script>
function Download(url) {
    document.getElementById('my_iframe').src = #{path};
};
</script>

Загрузка файла с использованием Javascript / jQuery

0 голосов
/ 31 августа 2018

Не думайте, что выполнение обоих возможно в 1 конечной точке. Что вы можете сделать, так это то, что всякий раз, когда вы хотите загрузить файл, поместите js-код для загрузки файла в шаблон ejs в условии, чтобы он загружался только тогда, когда вы хотите.

...