Чтобы сохранить файл изображения в поле буфера с помощью Mongoose, вы можете использовать следующие методы:
Метод 1: использование fs.readFileSync()
const fs = require('fs');
const imageBuffer = fs.readFileSync('path/to/image.jpg');
const document = new YourMongooseModel();
document.imageData = imageBuffer;
document.save();
Метод 2: использование fs.readFile()
const fs = require('fs');
fs.readFile('path/to/image.jpg', (err, data) => {
if (err) throw err;
const document = new YourMongooseModel();
document.imageData = data;
document.save();
});
Метод 3. Использование потоков
const fs = require('fs');
const stream = require('stream');
const readStream = fs.createReadStream('path/to/image.jpg');
const writeStream = new stream.PassThrough();
readStream.pipe(writeStream);
const document = new YourMongooseModel();
document.imageData = writeStream.read();
document.save();
Метод 4. Использование multer (для обработки загрузки файлов)
const multer = require('multer');
const storage = multer.memoryStorage();
const upload = multer({ storage });
app.post('/upload', upload.single('image'), (req, res) => {
const imageBuffer = req.file.buffer;
const document = new YourMongooseModel();
document.imageData = imageBuffer;
document.save();
res.send('Image uploaded successfully');
});
Эти методы позволяют вам читать файл изображения и сохранять его в качестве буфера в модели Mongoose. Выберите метод, который лучше всего соответствует вашим требованиям и настройке проекта.