Javascript Req.file是未定义的nodejs multer

Javascript Req.file是未定义的nodejs multer,javascript,node.js,express,multer,Javascript,Node.js,Express,Multer,我收到这个意外错误nodejs(Express)。 每当我控制台req.file或req.files时,都会控制台undefined 错误截图 邮递员配置 代码 三个文件如下: userController.js 报名 const express=require(“express”); const profilePictureConfig=require(“../multer/profilePictureConfig”); const userModel=require(“../models

我收到这个意外错误nodejs(Express)。 每当我控制台req.file或req.files时,都会控制台undefined

错误截图

邮递员配置

代码 三个文件如下:

userController.js 报名

const express=require(“express”);
const profilePictureConfig=require(“../multer/profilePictureConfig”);
const userModel=require(“../models/userModel”);
const tokenRequired=require(“../middleware/tokenRequired”);
const genHash=require(“../helper/genHash”);
路由器=express.router();
路由器
.post(“/signup”,profilePictureConfig,异步(请求、恢复、下一步)=>{
让profile_picture=req.file?.path?\\\${req.file.path}`:null;
log(“此处的req文件”);
console.log(req.file);//未定义的打印
console.log(req.files);//未定义的打印
试一试{
const hash=wait genHash(请求主体密码);
让newUser=newusermodel({
…请求主体,
密码:hash,
是吗?管理员:错,
简介(图片),
});
等待newUser.save();
资源状态(200)。发送(新用户);
}捕获(e){
控制台日志(例如错误);
其次(e);
}
})
剖面图 处理所有multer配置

app.js 所有文件的父级


您的配置看起来正常。您能检查一下您是否有
public
文件夹中的子文件夹
pp
?可能您并没有创建那个文件夹,所以
Multer
无法将文件存储在那个里

const multer = require("multer");

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    return cb(null, "./public/pp");
  },
  filename: function (req, file, cb) {
    return cb(null, Date.now() + " -- " + file.originalname);
  },
});

module.exports = multer({ storage: storage }).single("profile_picture");

const express = require("express");
const app = express();
const tokenHandler = require("./middleware/tokenHandler");
const userController = require("./controller/userController");

app.use(express.json());
app.use("/public", express.static(__dirname + "/public"));

app.use(tokenHandler);
app.use("/user", userController);

app.use((req, res, next) => {
  const error = new Error("404! Not Found");
  error.status = 404;
  next(error);
});

app.use((err, req, res, next) => {
  console.log(err);
  res.status(err.status || 500);
  res.send({ error: err.message });
});