我正在尝试将一个大的xml文件从express传输到客户端,我还没有找到如何发送,直到文件在服务器上完成处理,并调用res.end()。
xml文件是使用xmlbuilder-js构建的。它有一个接收文档块的回调,我试图使用response.write(chunk)发送它。
res.writeHead(200, {
'Content-Type': 'text/xml',
'Transfer-Encoding': 'chunked'
})
xmlToReturn = xmlBuilder.begin({
writer: {
pretty: true,
}
}, function(chunk) {
res.write(chunk)
}).dec('1.0', 'UTF-8', true)
...
res.end()
回调按预期工作,它显示数据块通过。
我试过了:
在所有情况下,如果我可以获得发送响应,则客户端永远不会收到它的开始,直到调用res.end()。我需要做什么才能让express在流经回调时开始提供内容?
我已经探讨了questions and posts like this,这表明我的方法是正确的,但我做错了,或者流媒体可能因为其他模块或中间件而无法正常使用。