Храните изображения с Multer и сохраняйте только путь в MongoDB - PullRequest
0 голосов
/ 10 июля 2020

Итак, часть моей схемы выглядит так photo: [{data: Buffer, contentType: String }]

И Multer хранит изображения следующим образом:

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, './public/uploads');
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now());
  }
});
app.use(multer({
  storage: storage
}).single('photo'));

Теперь я знаю, что он хранит изображения как буфер в Mongodb и также хранит файлы на сервере. Я бы хотел, чтобы он сохранил путь к файлу в базе данных, а затем сохранил фактический файл изображения на сервере. Кажется, он хранит изображения в виде текстовых файлов, закодированных с помощью utf-8. Это ужасно сложный процесс для, казалось бы, простой задачи (сохранение изображений)

1 Ответ

0 голосов
/ 10 июля 2020

Вы можете получить доступ к пути к файлу, используя req.file.path

app.post("/file", function(req, res) {
  console.log(req.file.path)
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...