Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 快速:下载返回空文件_Javascript_Node.js_Express - Fatal编程技术网

Javascript 快速:下载返回空文件

Javascript 快速:下载返回空文件,javascript,node.js,express,Javascript,Node.js,Express,每当我到达端点时,我总是得到空文件,而本地生成的文件是正确的,并且包含我需要的所有字段。我已尝试直接通过管道进行响应,但我会得到: 无法使用管道,不可读 当然,我可能做错了什么 不能将一个可写流通过管道传输到另一个可写流 您不能将一个可写流通过管道传输到另一个可写流 好的链接。非常感谢。是的,我创建了readStream,通过管道将其与附件连接到res让rs=fs.createReadStream(uu dirname+'/tmp/rates.csv')res.attachment(“rate

每当我到达端点时,我总是得到空文件,而本地生成的文件是正确的,并且包含我需要的所有字段。我已尝试直接通过管道进行响应,但我会得到:

无法使用管道,不可读

当然,我可能做错了什么


不能将一个可写流通过管道传输到另一个可写流


您不能将一个可写流通过管道传输到另一个可写流


好的链接。非常感谢。是的,我创建了readStream,通过管道将其与附件连接到res<代码>让rs=fs.createReadStream(uu dirname+'/tmp/rates.csv')
res.attachment(“rates.txt”)
rs.pipe(res)好链接。非常感谢。是的,我创建了readStream,通过管道将其与附件连接到res<代码>让rs=fs.createReadStream(uu dirname+'/tmp/rates.csv')
res.attachment(“rates.txt”)
rs.pipe(res)而我找到了使用
res.attachment
rs.pipe
的解决方法。我仍然想知道为什么下载方法不起作用。而我找到了
res.attachment
rs.pipe
的解决方法。我仍然想知道为什么下载方法不起作用。
const PORT = 3000;

const express = require('express');
const fs = require('fs');
const csv = require('fast-csv');

const app = express();

app.listen(PORT, () => {
console.log(`Express server is listening on ${PORT}`);
});

app.get('/rates/csv', (req, res) => {

let ws = fs.createWriteStream(__dirname + '/tmp/rates.csv');

csv.write([
    ["a", "b"],
    ["a1", "b1"],
    ["a2", "b2"]
], {headers: true})
    .pipe(ws);

console.log('FILE SAVED');

res.download(ws.path, 'rates.csv')
});