NodeJS 服务器写入响应并开始文件下载

NodeJS server Write response and start a file download

我正在为公司内部服务创建一个简单的文件转换工具。

我创建了一个 http 服务器,任何用户都可以在其中通过表单上传文件,并且服务器会使用转换后的文件下载来响应请求。

我想在屏幕上写下转换摘要,然后他们开始下载。不只是开始文件下载。

我的代码是:

createServer(function(req, res) {
    var form = new IncomingForm();
    form.parse(req, function(err, fields, files) {
        var path = files.filetoupload.path;
        var result = dataConverter.parse(path); // File data conversion

        res.writeHead(200);
        res.write(result.summary);

        res.writeHead(200, { "Content-Type": "application/force-download", "Content-disposition": "attachment; filename=outputfile.csv" });
        res.write(result.data);

        res.end();

    });

但我得到了休闲的回应

ERR_INVALID_CHUNKED_ENCODING

如何将这两个回复写给用户?

如果没有一些客户端 Javascript 或类似的东西,这是不可能的。 内容应该是一个文件或写入 "page".

最好的解决方案是创建一个临时文件来下载,然后他们将响应发送到页面。