gpt4 book ai didi

node.js - node-formidable 和一个简单的进度条

转载 作者:搜寻专家 更新时间:2023-10-31 22:30:46 24 4
gpt4 key购买 nike

如果我查看 node-formidable 文档,我可以阅读:

"Event: 'progress' (bytesReceived, bytesExpected)
Emitted after each incoming chunk of data that has been parsed.
Can be used to roll your own progress bar."

我想知道如何实现我自己的进度条我的意思是如何读取客户端的信息?我很困惑。它是通过在 POST 启动后启动的轮询 GET 实现的,还是可以在上传时从 POST 请求中读取信息?

如果我看这个:

http.createServer(function(req, res) {
if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
// parse a file upload
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end(sys.inspect({fields: fields, files: files}));
});
return;
}

看起来/upload url 正在处理 POST 请求并返回一些东西 res.write('received upload:\n\n');

我的问题是谁能读懂

res.write('received upload:\n\n');

最佳答案

您不需要覆盖 onPart Hook !

只需在每个表单 progress 事件回调调用时通过套接字广播一条消息,如下所示:

form.on('progress', function(bytesReceived, bytesExpected) {
var progress = {
type: 'progress',
bytesReceived: bytesReceived,
bytesExpected: bytesExpected
};

socket.broadcast(JSON.stringify(progress));
});

而不是在客户端监听套接字消息。

关于node.js - node-formidable 和一个简单的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5323291/

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