使用 nodejs 下载文件后删除文件

Delete a file after download it using nodejs

本文关键字:文件 删除 下载 nodejs 使用      更新时间:2023-09-26

我正在使用Node.js,我需要在用户下载文件后删除它。有没有办法在管道进程结束后调用回调方法,或者为此目的调用任何事件?

exports.downloadZipFile = function(req, res){
    var fileName = req.params['fileName'];
    res.attachment(fileName);
    fs.createReadStream(fileName).pipe(res); 
    //delete file after download             
};

您可以在 resfinish事件上调用 fs.unlink()

或者,您可以使用文件流的end事件:

var file = fs.createReadStream(fileName);
file.on('end', function() {
  fs.unlink(fileName, function() {
    // file deleted
  });
});
file.pipe(res);