问题描述
前端上传excel
文件,后端接收并处理文件
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
async importMember() {
const stream = await this.ctx.getFileStream();
stream.on('data',() =>{
//这里只执行一次左右 有时候两次 chunk加起来的大小也不对
})
stream.on('end',() =>{
//这里不触发
})
stream.on('error',()=>{
//这里也不触发
})
}
你期待的结果是什么?实际看到的错误信息又是什么?
data
事件应该执行完全,stream
接收完成后应该触发end
事件,即使有错误,应该触发error
事件。
找了一天 怀疑是环境问题,nginx
那边限制也打开了,还是没用。。
请求大神帮忙解析
已经解决了,问题让人哭笑不得。
这里提醒后面可能遇到这个问题的人:
一定要保证
stream
在node
端接收完成后才能在controller
里返回值,不然会认为该http
访问结束,从而导致上传的文件流中途结束。