NodeJS服务器写入响应并启动文件下载

时间:2018-06-07 13:22:56

标签: node.js response

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

我创建了一个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

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

1 个答案:

答案 0 :(得分:0)

没有一些客户端Javascript或类似的东西,这是不可能的。 内容应为文件或写入“页面”。

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