上传图片时:
curl -v --data-binary“@ $ HOME / Pictures / blue_red_pill.jpg”http://localhost:3234/image
On data事件仅在上传部分时调用一次。 curl命令只会挂起,直到超时。这是服务器代码:
const router = require('koa-router')()
router.post('/image', function *() {
yield new Promise(resolve => {
const socket = this.req.socket
let dataBuffer = new Buffer('', 'binary')
socket.on('data', data => {
console.log(data.length, data.toString('hex').substring(0, 14))
dataBuffer = Buffer.concat([dataBuffer, data])
})
socket.on('end', () => {
console.log('end')
resolve()
})
})
})
字节只是文件的一部分,但十六进制对于文件的开头是正确的:
49152 'ffd8ffe000104a'