gpt4 book ai didi

javascript - 限制下载次数

转载 作者:可可西里 更新时间:2023-11-01 10:14:28 30 4
gpt4 key购买 nike

我真的是 mongoDB 和 node.js 的新手,我试图限制我服务器中每个文件的下载数量。我正在使用 gridfs 将文件存储在数据库中,在生成一个能够下载文件的链接后,我需要限制每个文件的下载数量,但不知道该怎么做。

最佳答案

假设您使用 express 作为您的 node.js http 服务器,您可以这样做:

const app = require('express')();
const bucket = new mongodb.GridFSBucket(db, {
chunkSizeBytes: 1024,
bucketName: 'songs'
});

const downloads = {};

const fileURI = '/somefile.mp3';
const maxDownload = 100;

app.get(fileURI, function(req, res) {
if (downloads[fileURI] <= maxDownload) {
// pipe the file to res
return bucket.openDownloadStreamByName('somefile.mp3').
.pipe(res)
.on('error', function(error) {
console.error(error);
})
.on('finish', function() {
console.log('done!');
downloads[fileURI] = downloads[fileURI] || 0;
downloads[fileURI]++;
});
}

return res.status(400).send({ message: 'download limit reached' });
});

app.listen(8080);

关于javascript - 限制下载次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46467923/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com