Node.js,多重文件上传内存泄漏

时间:2018-10-17 03:44:02

标签: node.js file-upload memory-leaks image-uploading multer

我尝试显示大约15个文件,我得到的是

(节点:11266)MaxListenersExceededWarning:检测到可能的EventEmitter内存泄漏。添加了11个完成监听器。使用generator.setMaxListeners()增加限制 (节点:11266)MaxListenersExceededWarning:检测到可能的EventEmitter内存泄漏。添加了11个管道监听器。使用generator.setMaxListeners()增加限制 (节点:11266)MaxListenersExceededWarning:检测到可能的EventEmitter内存泄漏。添加了11个侦听器。使用generator.setMaxListeners()增加限制 (节点:11266)MaxListenersExceededWarning:检测到可能的EventEmitter内存泄漏。添加了11个错误侦听器。使用generator.setMaxListeners()增加限制 (节点:11266)MaxListenersExceededWarning:检测到可能的EventEmitter内存泄漏。添加了11个关闭的侦听器。使用generator.setMaxListeners()增加限制

我尝试使用process.setMaxListeners(0);,但确实可以工作

反正我的代码

router.js

const upload_path = path.resolve(__dirname + '../../public/images' )

let upload = multer({
 dest: upload_path
})

router.get('/showImages', (req, res)=>{
  uploadService.showImages(req, res, upload_path) 
})

这是我的controller.js

    async showImages(req, res, upload_path) {
    try {
        console.log(upload_path)
        let image = await Image.find()

        for (let i = 0; i < image.length; i++) {
            console.log(image[i])

            fs.createReadStream(path.resolve(upload_path, image[i].filename)).pipe(res)
        }

    } catch (err) {
        console.log(err)
    }
}

有人知道如何解决这个问题吗?谢谢

0 个答案:

没有答案