Node.js管道PDF API响应

时间:2017-09-12 18:17:42

标签: javascript node.js pdf web

所以我的方案是用户单击Web应用程序上的按钮,这会触发服务器端POST请求到位于同一网络中另一台服务器上的内部(即非公共)API,这应该将PDF返回到我的服务器它将代理(管道)它回到用户。

我想直接将PDF正文内容代理到客户端而不创建tmp文件。

我有这个代码使用npm请求模块,但感觉不对:

var pdfRequest = request(requestOptions);
  pdfRequest.on('error', function (err) {
    utils.sendErrorResponse(500, 'PROBLEM PIPING PDF DOWNLOAD: ' + err, res);
  });
  pdfRequest.on('response', function (resp) {
    if (resp.statusCode === 200) {
      pdfRequest.pipe(res);
    } else {
      utils.sendErrorResponse(500, 'PROBLEM PIPING PDF DOWNLOAD: RAW RESP: ' + JSON.stringify(resp), res);
    }
  });

管道PDF响应的正确方法是什么?

注意:

  • 我需要检查状态代码以有条件地处理错误,POST的有效负载包含在requestOptions中(我知道这部分都是正确的)。
  • 我想继续使用请求模块
  • 我挑衅地不想创建任何临时文件
  • 如果可能,我还想修改内容处置标头以设置自定义文件名,我知道如何在不使用管道的情况下执行此操作

0 个答案:

没有答案