首页 > 解决方案 > 学生验证失败:图像:需要路径“图像”

问题描述

我在rest API的帮助下使用node js上传了图像,当我们上传数据和图像时,邮递员给出了学生验证失败之类的错误:图像:需要路径image

我的邮递员回应是:

{
"errors": {
    "image": {
        "name": "ValidatorError",
        "message": "Path `image` is required.",
        "properties": {
            "message": "Path `image` is required.",
            "type": "required",
            "path": "image"
        },
        "kind": "required",
        "path": "image"
    }
},
"_message": "Student validation failed",
"name": "ValidationError",
"message": "Student validation failed: image: Path `image` is required."
}

我的架构是

const mongoose = require('mongoose');
const validator = require('validator');

const studentSchema = new mongoose.Schema({
 name: {
      type: String,
      required: true
 },
 email: {
      type: String,
      required: true,
      unique: [true, 'Email Id Already Exists..'],
      validate(value) {
           if (!validator.isEmail(value)) {
                throw new Error('Invalid Email');
           }
      }
 },
 contact: {
      type: Number,
      min: 10,
      required: true,
      unique: true,
 },
 address: {
      type: String,
      required: true,
 },
 image: {
      type: String,
      required: true,
 }, 

 })

    // we will create a new connection

      const Student = new mongoose.model('Student', studentSchema);
        module.exports = Student;

这是我的 API

app.post('/students', upload.single('image'), async (req, res) => {     
 try {
      
      const user = new Student(req.body);
      console.log('req.body');
      const createStudent = await user.save();
      res.status(201).send(createStudent);
 } catch (e) {
      res.status(400).send(e);
 }
});

请帮我

标签: node.jsmongodbrest

解决方案


图像不包含在 req.body 中,如果您使用 multer,您会在 req.file 中找到图像,控制台记录它,然后将图像设置为 req.file.path 以将其存储到 DB


推荐阅读