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

标签 javascript node.js fs

我正在使用 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);

关于javascript - 使用nodejs下载文件后删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27951092/

相关文章:

javascript - react 按钮的读取值被点击

javascript - 带偏移量的 Chartjs 折线图数据集

javascript - 像 Node.js 一样并行请求或排队

javascript - fs.readdir 失败,不知道为什么

javascript - 如何将大量随机字节写入文件

javascript - Jquery 鼠标悬停值

javascript - 加载html后如何加载js文件?

javascript - 如何替换 Javascript 中的字符串

sql - 使用 sql/sequelize 通过 userId 获取喜欢的帖子并获取帖子的喜欢计数

javascript - NodeJS : Append file inside a callback function