我正在使用webservice从网址生成PDF。然后我想将生成的文件保存到文件系统。问题是,保存的文档是空的。这可能是,因为http.get
不等到文件生成。
我该如何等待生成的文件?
var url, writeStream;
writeStream = fs.createWriteStream(path.join(dirPath, type + ".pdf"));
url = "http://html2pdf.it?url=" + (encodeURIComponent('http://www.google.com/'));
http.get(url, function(res) {
res.pipe(writeStream);
writeStream.on('finish', function() {
console.log('Path:', path.join(dirPath, type + ".pdf"));
});
});
答案 0 :(得分:1)
这是因为您的网络服务会返回301
返回代码(将您重定向到另一个网页),而节点http.get()
就会停在那里。
你应该使用更高级别的包装器,如request,它更容易使用,并且实际上会做你真正想要的。
请注意,您可以通过console.logging请求中的res
来了解自己:
http.get(url, function(res) {
console.log(res);
// ...
});