上传后无法删除文件

我用multer包上传文件。 而且我使用sharp来调整和复制许多文件,所以我不能删除第一个上传文件。

这是我的代码

var multer = require('multer'); var upload = multer({dest: 'upload/'}); app.route('/uploadIcon') .post(upload.single('file'), uploadfunction); function uploadfunction(req, res) { var dir = './app/controllers/configs/' + req.body.domain; if (!fs.existsSync(dir)) { fs.mkdirSync(dir); } if (!fs.existsSync(dir + '/icon.iconset')) { fs.mkdirSync(dir + '/icon.iconset'); } var dir_icon = dir + '/icon.iconset/'; var file = dir + '/icon.iconset/' + 'default.png'; fs.rename(req.file.path, file, function (err) { if (err) { console.log(err); res.send(500); } else { resizeandcopy(file, dir_icon); } }); } 

这里是函数resizeandcopy。

 function resizeandcopy(file, dir) { sharp(file) .resize(16, 16) .toFile(dir + 'icon_16x16.png', function (err) { }); } 

我认为内存在图片上传和处理后不会被清除,或者在处理文件后需要closures事件。 但我不知道如何解决这个问题。 锑可以帮助我吗?