我正在尝试将Express请求对象管道传输到可写流。NodeJS创建了一个文件,但它是空的。我错过了什么?
var express = require('express');
var fs = require('fs');
var app = express();
app.use(middleWare);
app.listen(3000);
function middleWare(req, res, next){
var ws = fs.createWriteStream('./test.txt');
req.pipe(ws);
res.sendStatus(200);
}
当我用ws.write(req)替换req.pipe(ws) 当我用ws.write(JSON.stringfy(req))替换ws-write(req TypeError: Invalid non-string/buffer chunk
TypeError: Converting circular structure to JSON
您只能将字符串或缓冲区写入文件。
当您尝试使用JSON.stringfy()将对象转换为字符串时,会出现错误,因为该对象包含不允许的循环引用,以及您无法使用此函数的原因。
您可以尝试将对象转换为JSON,然后再将其转换为字符串。
但是,您也可以尝试只提取请求的相关字段,并在将它们转换为字符串后将它们保存到文件中。