Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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 向浏览器写入PDF在Nodejs中失败_Node.js_Pdf - Fatal编程技术网

Node.js 向浏览器写入PDF在Nodejs中失败

Node.js 向浏览器写入PDF在Nodejs中失败,node.js,pdf,Node.js,Pdf,我正在尝试从URL读取PDF并将其显示到用户的浏览器(通过传入的“响应”对象)。我曾尝试使用下面的代码,但有时会奏效,但通常会失败: function writePdfToBrowser(url, response) { http.get(url, function(res) { logger.verbose('about to start download...'); var chunks = []; res.on('data', fun

我正在尝试从URL读取PDF并将其显示到用户的浏览器(通过传入的“响应”对象)。我曾尝试使用下面的代码,但有时会奏效,但通常会失败:

function writePdfToBrowser(url, response) {
    http.get(url, function(res) {
        logger.verbose('about to start download...');
        var chunks = [];
        res.on('data', function(chunk) {
            chunks.push(chunk);
        });
        res.on("end", function() {
            logger.verbose('downloaded');
            var buffer = new Buffer.concat(chunks);
            //write downloaded pdf to the original response
            response.write(buffer);
            //response.send(buffer);
            response.end();
        });
    }).on("error", function() {
        logger.error("error!");
    });
} 
在我试图加载pdf的新页面中,它只会说“加载pdf失败”

我不熟悉Node,所以不确定问题出在哪里,有什么想法吗?有没有人有代码可以做同样的事情

谢谢你的帮助

标记使用管道:

function pipe(url, res) {   
    var request = http.get(url, function(response) {
        res.writeHead(response.statusCode, response.headers)
        response.pipe(res); 
    });

    request.on('error', function(error){
        res.statusCode = 500;
        res.end(error.message);
    });
}
。。。请下次提供更多关于它失败的原因和方式的信息,一些日志,检查响应im浏览器。等等


这很有效。这真是让人头疼,非常感谢!