Multer [对象:null原型] {标题:'Arthar',描述:'the'} undefined undefined

时间:2020-10-03 02:04:40

标签: javascript node.js mongodb mongoose multer

上传图片时出现空原型错误。

Multer保存图像,但是当我将图像保存在MongoDB中时,猫鼬给出了空的原型错误:

imgUrl:{缩略图:req.files.filename,图库:req.files.filename,}

请尽快帮助我。

错误代码: [对象:空原型] {标题:“ Arthar”,描述:“ the”}未定义未定义

JS代码:

    const express = require("express");
    const mongoose = require("mongoose");
    const bodyParser = require("body-parser");
    const path = require("path");
    const multer = require("multer");
    const {
      uuid
    } = require("uuidv4");

    const router = express.Router();
    mongoose.connect("mongodb://localhost/user", {
      useNewUrlParser: true,
      useUnifiedTopology: true,
    });

    const db = mongoose.connection;
    db.on("error", console.error.bind(console, "connection error:"));
    db.once("open", function () {
      console.log("we are connected");
    });

    //body parser
    router.use(
      bodyParser.urlencoded({
        extended: true,
      })
    );
    router.use(bodyParser.json());

    //mongoose schema
    const gallerySchema = new mongoose.Schema({
      imgUrl: {
        thumbnail: String,
        gallery: Array,
      },
      title: String,
      description: String,
      date: {
        type: Date,
        default: Date.now,
      },
    });
    const gallery = mongoose.model("gallery", gallerySchema);

    router.get("/", (req, res) => {
      res.render("gallery");
    });

    //save uploaded files using multer
    let storage = multer.diskStorage({
      destination: (req, file, cb) => {
        cb(null, "../public/gallery/");
      },
      filename: (req, file, cb) => {
        let d = new Date();
        const imgName =
          file.fieldname + "_" + uuid() + path.extname(file.originalname);
        cb(null, imgName);
      },
    });
    let upload = multer({
      storage: storage,
    });

    let cpUpload = upload.fields([{
        name: "thumbnail",
        maxCount: 1,
      },
      {
        name: "gallery",
        maxCount: 20,
      },
    ]);

    router.post("/", cpUpload, (req, res) => {
      let a = new gallery({
        imgUrl: {
          thumbnail: req.files.filename,
          gallery: req.files.filename,
        },
        title: req.body.title,
        description: req.body.description,
      });
      a.save((err, a) => {
        if (err) return console.error(err);
        else {
          res.render("gallery");
        }
      });
      console.log(req.body);
      console.log(req.files.filename);
      console.log(req.files.filename);
    });
    module.exports = router;


Error Image

0 个答案:

没有答案
相关问题