上传后无法删除文件

我用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事件。 但我不知道如何解决这个问题。 锑可以帮助我吗?

  • multer数组上传不上传文件,得到一个空数组
  • 在Krakenjs应用程序中,file upload与Multer挂起
  • 节点JS AWS S3file upload。 如何获得公共URL响应
  • 当我在onFileUploadStart()中包含逻辑时,Multer不上载文件 - NodeJs
  • 如何在使用多媒体上传时限制文件大小?
  • 运行应用程序时使用multer导致错误
  • nodejs + multer + angularjs上传而不redirect
  • 如果没有提供文件名,Multer会挂起