Как я могу отправить pdf клиенту из запроса API - PullRequest
0 голосов
/ 24 февраля 2019

Я делаю запрос к одному API, который возвращает файл PDF.Я попытался повторно отправить (данные), но это не сработало, причина возвращает пустой файл PDF (он показывает длину страницы, но пустой).

rp("URI")
    .then(data =>{
        res.contentType("application/pdf")
        res.send(data)
    })
    .catch(e =>{
        console.log(e)
    })

1 Ответ

0 голосов
/ 24 февраля 2019
  • Передача используется для общего HTTP-ответа, такого как JSON, XML и т. Д.
  • Для отправки файлов вам нужно вызвать res.sendFile с filePath и егопараметры

Это выглядит так

app.get('/file/:name', function (req, res, next) {

  var options = {
    root: __dirname + '/public/',
    dotfiles: 'deny',
    headers: {
        'x-timestamp': Date.now(),
        'x-sent': true
    }
  };

  var fileName = req.params.name;
  res.sendFile(fileName, options, function (err) {
    if (err) {
      next(err);
    } else {
      console.log('Sent:', fileName);
    }
  });

});
...