使用nodejs下载文件后删除文件
Delete a file after download it using nodejs
我正在使用 Node.js,我需要在用户下载后删除文件。有没有办法在管道进程结束后调用回调方法,或者为此目的调用任何事件?
exports.downloadZipFile = function(req, res){
var fileName = req.params['fileName'];
res.attachment(fileName);
fs.createReadStream(fileName).pipe(res);
//delete file after download
};
您可以在 res
的 finish
事件上调用 fs.unlink()
。
或者您可以使用文件流的 end
事件:
var file = fs.createReadStream(fileName);
file.on('end', function() {
fs.unlink(fileName, function() {
// file deleted
});
});
file.pipe(res);
我正在使用 Node.js,我需要在用户下载后删除文件。有没有办法在管道进程结束后调用回调方法,或者为此目的调用任何事件?
exports.downloadZipFile = function(req, res){
var fileName = req.params['fileName'];
res.attachment(fileName);
fs.createReadStream(fileName).pipe(res);
//delete file after download
};
您可以在 res
的 finish
事件上调用 fs.unlink()
。
或者您可以使用文件流的 end
事件:
var file = fs.createReadStream(fileName);
file.on('end', function() {
fs.unlink(fileName, function() {
// file deleted
});
});
file.pipe(res);