Некоторые детали
[*] Каждый раз, когда должен рассматриваться каким -то образом, сервер получает пост -документ из Database Mongodb, это включает в себя Coipplimagid. /> Этот CovermageId затем используется для поиска источника изображения в .../post/image/< %= item.coverimageid %> с использованием EJS
Сервер, в свою очередь, обрабатывает этот запрос GET, используя следующий код:
router.get('/image/:id', async (req, res) => {
try {
const bucket = getGridFSBucket();
const fileId = new mongoose.Types.ObjectId(req.params.id);
const files = await bucket.find({ _id: fileId }).toArray();
if (!files || files.length === 0) {
return res.status(404).send('Image not found');
}
res.set('Content-Type', files[0].contentType);
const downloadStream = bucket.openDownloadStream(fileId);
downloadStream.pipe(res);
} catch (err) {
res.status(500).send('Error retrieving image');
}
});
< /code>
< /li>
< /ul>
Получение изображения из базы данных. < /p>
Во время тестирования нагрузки это вообще не заняло много времени для перегрузки сервера, а ответы заняли до десяти секунд.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... -post-site
Мобильная версия