我在nodejs中使用multer来获取用户提交的图片,将其保存在项目根目录的uploads文件夹中,但是在apifox中测试出现如下问题:


以下是写的代码
const express = require('express');
const multer = require('multer');
const path = require('path');
const router = express.Router();
const { Feedback } = require('../models');
// 设置存储路径和文件名
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/');
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname));
}
});
// 使用Multer中间件配置上传
const upload = multer({ storage: storage });
// 创建新的feedback
router.post('/', upload.single('image'), async function (req, res) {
try {
// 查看请求体
console.log(req.body);
// 自动获取当前登录用户的信息
const phone = req.phone;
const username = req.username;
const leixing = req.body.leixing; // 用户自己填写的信息
const qiangdu = req.body.qiangdu; // 用户自己填写的信息
const nr = req.body.nr; // 用户自己填写的信息
const liulanqi = req.body.liulanqi; // 自动获取浏览器类型
const createdAt = new Date(); // 自动获取当前时间
// 获取上传的图片路径
const imagePath = req.file ? req.file.path : null;
// 验证数据
if (!nr || !leixing || !qiangdu) {
return res.status(400).json({
status: false,
message: '请填写所有必填项'
});
}
// 创建新的feedback
const newFeedback = await Feedback.create({
username: username,
phone: phone,
nr: nr,
leixing: leixing,
qiangdu: qiangdu,
liulanqi: liulanqi,
imagePath: imagePath, // 保存图片路径
createdAt: createdAt
});
res.json({
status: true,
message: '反馈创建成功',
data: newFeedback
});
} catch (error) {
res.status(500).json({
status: false,
message: '反馈创建失败',
errors: [error.message]
});
}
});
module.exports = router;