javascript - 如何在一定时间后删除文件?
问题描述
这是允许上传文件的代码。如果 lastClick(在 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)
谁能告诉我我的代码有什么问题?
解决方案
推荐阅读
- javascript - 将字母表中的每个字母附加在一起的循环
- python - 将变量从 Python (win32) 传递到 Excel VBA 宏
- angular - 使用 ngx-mat-file-input 从 Angular 上传文件作为 multipart/form-data
- angular - 角度路由:在生产服务器上部署后找不到路由
- python-3.x - 如何为可视化目的反向缩放 numpy 数组?
- enums - 在 Amplify graphql 模式中访问枚举的最佳方式
- javascript - 在 MapBox GL JS 中的图层而不是圆形上绘制三角形和正方形等多边形
- docker-compose - Windows 10 的 docker-compose 中的当前目录变量替换
- python - 将列表作为 loss_weights 传递,每个模型输出应该有一个条目。Keras 告诉我模型有 1 个输出,但我认为有更多
- xamarin.android - Xamarin.Android:`Newtonsoft.Json.JsonReaderException`