問題を説明する些細なケース...クライアント側(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')
})
問題は、「data」イベントが呼び出されないか、ファイルの間違った部分を(最初からではなく)取得し始めることです。'data'イベントバインディングが発生する前に、実際のデータチャンクが到着し始めているようです。
これにどう対処するか?