Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何从API请求向客户端发送pdf_Node.js_Express_Pdf_Request_Request Promise - Fatal编程技术网

Node.js 如何从API请求向客户端发送pdf

Node.js 如何从API请求向客户端发送pdf,node.js,express,pdf,request,request-promise,Node.js,Express,Pdf,Request,Request Promise,我正在请求一个API返回pdf文件。我已经尝试res.send(数据),但它不起作用,因为返回一个空白的PDF文件(它显示页面长度,但为空) Send用于常见的HTTP响应,如JSON、XML等 要发送文件,您需要使用filePath及其参数调用 看起来像这样 app.get('/file/:name', function (req, res, next) { var options = { root: __dirname + '/public/', dotfiles:

我正在请求一个API返回pdf文件。我已经尝试res.send(数据),但它不起作用,因为返回一个空白的PDF文件(它显示页面长度,但为空)

  • Send用于常见的HTTP响应,如JSON、XML等
  • 要发送文件,您需要使用
    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);
    }
  });

});

你好!正如我所说,pdf文件来自外部URI,而不是来自我的服务器。我还可以使用readfile吗?
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);
    }
  });

});