我正在为公司内部服务创建一个简单的文件转换工具。
我创建了一个 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 或类似的东西,这是不可能的。 内容应该是一个文件或写入“页面”。
最好的解决方案是创建一个临时文件来下载,然后将响应发送到页面。
关于node.js - NodeJS 服务器写入响应并开始文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50742397/