使用nodejs下载后删除文件

Rag*_*nar 10 javascript fs node.js

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

exports.downloadZipFile = function(req, res){
    var fileName = req.params['fileName'];
    res.attachment(fileName);
    fs.createReadStream(fileName).pipe(res); 

    //delete file after download             
};
Run Code Online (Sandbox Code Playgroud)

msc*_*dex 12

你可以调用fs.unlink()finish事件res.

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

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