#javascript #node.js #mongoose #setinterval #multer
#javascript #node.js #мангуст #setinterval #мультер
Вопрос:
Вот код, который позволяет загружать файлы. Который я хочу удалить, если последний щелчок (определенный в download.js ) составляет 1 день.
let storage = multer.diskStorage({
destination: (req, file, cb) => cb(null, 'uploads/'),
filename: (req, file, cb) => {
const uniqueName = `${Date.now()}-${Math.round(Math.random() * 1E9)}${path.extname(file.originalname)}`;
cb(null, uniqueName)
}
});
let upload = multer({
storage: storage,
limits: {
fileSize: 16106119114
},
}).single('file'); //100mb
router.post('/', (req, res) => {
upload(req, res, async (err) => {
if (err) {
return res.status(500).send({
error: err.message
});
}
const file = new File({
guploadBy: req.user.googleId,
fuploadBy: req.user.facebookId,
tuploadBy: req.user.twitterId,
uploaderName: req.user.name,
fileName: req.file.filename,
originalName: req.file.originalname,
provider: req.user.provider,
path: req.file.path,
fileSize: Math.round((req.file.size * (1 / 1000000))),
adultContent: req.body.select,
uuid_s: shortid.generate(),
uuid_d: uuidv4()
});
const response = await file.save();
});
Ниже я написал код для удаления файлов после (lastClick 1 день), и это должно выполняться каждые 1 минуту.
setInterval(findRemoveSync.bind(this,__dirname '/uploads', {age: {seconds: 60}}), req.file.lastClick 86,400,000)
Кто-нибудь может сказать мне, что не так с моим кодом?
Комментарии:
1. Функция nodejs
setInterval()
принимает интервал в миллисекундах в качестве второго аргумента, поэтому ваш код будет выполняться каждыеlastClick 86400000
миллисекунды