我试图从网址上读取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的新手,所以不确定问题出在哪里,有什么想法吗?任何人都有任何工作代码来做同样的事情吗?
感谢您的帮助!
标记
答案 0 :(得分:0)
使用管道:
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);
});
}
...请在下次提供有关失败的内容和方式的更多信息,一些日志,之前检查浏览器的响应。等等......