gpt4 book ai didi

file - Node.js:处理文件上传, 'data' 事件从未调用

转载 作者:太空宇宙 更新时间:2023-11-03 22:38:56 25 4
gpt4 key购买 nike

描述问题的一个简单案例...客户端(使用 HTML5 文件 API 和 XMLHttpRequest2):

var xhr = new XMLHttpRequest ()
xhr.open ('POST', '/upload', true)
xhr.send (file) /* sends as plain binary blob, no multipart/form-data */

服务器端:

var size = 0
request.setEncoding ('binary')
request.on ('data', function (chunk) {
console.log ('Received ' + (size += chunk.length) / (1024.0 * 1024.0) + ' Mb')
})
request.on ('end', function (chunk) {
console.log ('Done')
})

问题是“数据”事件要么永远不会被调用,要么开始拾取文件的错误部分(不是从头开始)。看起来实际的数据 block 在“数据”事件绑定(bind)发生之前就开始到达。

如何处理这个问题?

最佳答案

我找到了导致问题的原因,事实证明我的数据接收代码是在应用程序逻辑深处的异步回调内执行的。

通过在请求处理程序的开头使用 request.pause() 暂停请求,并在绑定(bind)“data”和“end”事件后,在到达应用程序逻辑层后恢复请求来解决该问题.

关于file - Node.js:处理文件上传, 'data' 事件从未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13690508/

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