我正在使用 Node 和 MongoDB 构建托管服务器。工作过程如下所示:
现在我想实现额外的表单输入,用户可以在其中设置应该从服务器中删除他的文件的日期。
所以有两件事要做:在用户设置的时间删除文件和删除数据库中的文档。
你有什么想法如何实现这样的事情吗?
要删除文件,您只需使用 fs.unlink()
const fs = require('fs');
const deleteFile = (file) => {
fs.unlink("path/to/file/folder/"+file, (err) => {
if (err) throw err;
}
}
您想创建一个 setTimeout(),但是您需要找到在用户提供的日期之前还剩多少时间,您应该执行以下操作:
const time_remaining = (date_provided) => new Date(date_provided) - new Date();
然后只需使用 setTimeout():
let timeOuts = []; // We create an array of timeouts in case we want to cancel one later
// I assume you use express and body-parser
app.post('/upload', (req, res) => {
const timer = setTimeout( () => deleteFile(req.body.file), time_remaining (req.body.date));
timeOuts.push(timer);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句