【问题标题】:Send PDF as response to client将 PDF 作为响应发送给客户
【发布时间】:2016-07-29 13:42:10
【问题描述】:

我在使用 PdfKit 时遇到了一种奇怪的行为。我正在使用 Nodejs 和 Express。当我调用生成 PDF 的路由时,路由本身被调用了两次,我不明白为什么。

下面是重新创建这个的最小代码:

var express = require('express'),
    app = express();

app.get('/', function (req, res) {
    console.log('Route called with referer', req.headers.referer);

    var PdfDocument = require('pdfkit'),
        doc = new PdfDocument();

    doc.pipe(res);
    doc.addPage();
    doc.end();
});

app.listen(7373, function () {
    console.log('started');
});

在终端,我有这些日志,从浏览器只刷新一次页面:

node tmp/server.js
started
Route called with referer undefined
Route called with referer http://127.0.0.1:7373/

有人知道为什么这条路线会被自动调用一次吗?

【问题讨论】:

  • @cartant,请不要仅仅为了从标题中删除标签而进行编辑狂欢。这不必要地将帖子撞回首页,而没有实际改进它们。如果您编辑帖子,请务必修复所有内容,并且仅在帖子值得登上首页的情况下进行。
  • @Adriaan 理解

标签: node.js express node-pdfkit


【解决方案1】:

好的,经过一番分析,我发现是浏览器的 PDF 查看器启动了第二次调用。使用wgetcurl 时,我只看到一个呼叫和一个日志。所以请注意,从浏览器显示页面时,代码会被解析两次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    相关资源
    最近更新 更多