正在将Express请求对象保存到文件中



我正在尝试将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)

 TypeError: Invalid non-string/buffer chunk

当我用ws.write(JSON.stringfy(req))替换ws-write(req

  TypeError: Converting circular structure to JSON

您只能将字符串或缓冲区写入文件。

当您尝试使用JSON.stringfy()将对象转换为字符串时,会出现错误,因为该对象包含不允许的循环引用,以及您无法使用此函数的原因。

您可以尝试将对象转换为JSON,然后再将其转换为字符串。

但是,您也可以尝试只提取请求的相关字段,并在将它们转换为字符串后将它们保存到文件中。

相关内容

  • 没有找到相关文章

最新更新