при загрузке изображения я не вижу содержимое - PullRequest
0 голосов
/ 07 ноября 2019

У меня проблема с загрузкой файла изображения в мою mongoDB с использованием gridFS, но по какой-то причине это не работает, это мой код:

const config = require("config");
const express = require("express");
const router = express.Router();
const dbURI = config.get("mongoURI");
const multer = require("multer");
const crypto = require("crypto");
const path = require("path");
const GridFsStorage = require("multer-gridfs-storage");

var storageImage = new GridFsStorage({
  url: dbURI,
  file: (req, file) => {
    return new Promise((resolve, reject) => {
      crypto.randomBytes(16, (err, buf) => {
        if (err) {
          return reject(err);
        }
        const filename = buf.toString("hex") + path.extname(file.originalname);
        const fileInfo = {
          filename: filename,
          bucketName: "user_images"
        };
        resolve(fileInfo);
      });
    });
  }
});
const uploadImage = multer({ storageImage });



router.post("/uploadImage", uploadImage.single("userImg"), (req, res) => {
  console.log("uploading");
  console.log(req.file);
  res.json({ msg: "file uploaded successfully" });
});


module.exports = router;

, когда я консоль .log req.file, я получаю неопределенный, кто-нибудь знает в чем проблема?

1 Ответ

0 голосов
/ 07 ноября 2019

Я нашел проблему:

const uploadImage = multer({ storageImage });

должно быть

const uploadImage= multer({storage:storageImage});
...