gpt4 book ai didi

node.js - NODEJS writeStream 错误

转载 作者:行者123 更新时间:2023-12-04 05:09:38 36 4
gpt4 key购买 nike

var http = require('http');
var fs = require('fs').createWriteStream('file1');;

http.createServer(function(req, res) {
// This opens up the writeable stream to `output`


// This pipes the POST data to the file
req.pipe(fs);

// After all the data is saved, respond with a simple html form so they can post more data
req.on('end', function () {
res.writeHead(200, {"content-type":"text/html"});
res.end('<form method="POST"><input name="test" /><input type="submit"></form>');
});

// This is here incase any errors occur
fs.on('error', function (err) {
console.log(err);
});
}).listen(8080);

在上面的代码中,我试图使用 POST 方法接受来自 HTML 表单的输入,并将其通过管道传输到文件的写入流中,但我无法实现,并且正在显示以下错误
{ [Error: EBADF, close] errno: 9, code: 'EBADF' }
{ [Error: EBADF, close] errno: 9, code: 'EBADF' }
{ [Error: EBADF, close] errno: 9, code: 'EBADF' }
{ [Error: EBADF, close] errno: 9, code: 'EBADF' }
{ [Error: EBADF, close] errno: 9, code: 'EBADF' }
{ [Error: EBADF, close] errno: 9, code: 'EBADF' }
{ [Error: EBADF, close] errno: 9, code: 'EBADF' }
{ [Error: EBADF, close] errno: 9, code: 'EBADF' }
{ [Error: EBADF, close] errno: 9, code: 'EBADF' }

出了什么问题,我应该做哪些修改才能成功地将数据从 POST 重定向到文件中?我读了这个相关的帖子 Node.js EBADF error when writing file using writable stream

但是还是找不到出路,我是NODEJS新手,请帮帮我。谢谢...

最佳答案

默认情况下,当源流发出 end 时,在目标上调用 end(),因此该目标不再可写。传递 { end: false } 作为保持目标流打开的选项。

你应该简单地做:

req.pipe(fs, { end: false });

你的错误就会消失。

关于node.js - NODEJS writeStream 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15035753/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com