res.download () throw Запрос отменен - PullRequest
0 голосов
/ 19 декабря 2018

Я использую экспресс и пытаюсь скачать файл, затем загрузить страницу.Я понял, что проблема заключается в остановке res.download с помощью res.render, но я не могу понять, как решить эту проблему.Я также попытался поместить res.render () в функцию обратного вызова res.download (), единственное, что происходит, это то, что res.render перестал работать, но файл будет загружен.

app.get("/", function(req, res) {
  res.download(
    "./public/sample-zip/Lost Sky - Dreams.zip",
    "Lost Sky - Dreams.zip",
    err => {
      if (err) console.log("Errore nel dw: " + err);
    }
  );

  res.render("index");
});

1 Ответ

0 голосов
/ 19 декабря 2018

Вы не можете завершить один и тот же запрос несколькими способами - download за кулисами вызовет sendFile, который отправит файл клиенту и завершит запрос, аналогично render отправит содержимое страницы, а также завершитrequest.

Правильный подход здесь - разрешить загрузку файла клиенту, а затем клиент перенаправить страницу на заднюю часть успешной загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...