一个描述问题的简单案例......客户端(使用 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')
})
问题是“数据”事件要么永远不会被调用,要么开始拾取文件的错误部分(不是从头开始)。似乎实际数据块在“数据”事件绑定发生之前开始到达。
如何处理?