我正在尝试使用NodeJS + ExpressJS + Multer上传图像,但是我面临着这个问题,即我无法从Multer的uplode函数获取返回值,因此我可以在数据库上设置图像名称或抛出一个图像。错误
const express = require("express");
const router = express.Router();
const multer = require("multer");
const path = require("path");
const auth = require("../../middleware/auth");
const photoModel = require("../../models/Photo");
const upload = multer({
storage: multer.diskStorage({
destination: "./client/public/uploads/",filename: function(req,file,callback) {
callback(null,"IMAGE-" + Date.now() + path.extname(file.originalname));
}
}),limits: { fileSize: 1000000 }
}).single("myImage");
router.post("/upload/:row",async (req,res) => {
const id = "1";
const { row } = req.params;
const result = await upload(req,res,err => {
console.log("Request ---",req.body);
console.log("Request file ---",req.file); //Here you get file.
/*Now do where ever you want to do*/
// if (!err) return res.send(200).end();
if (!err) {
return true;
} else {
return false;
}
});
console.log("result ",result);
if (result) {
const check = photoModel.SetImage(id,row);
if (check) console.log(check);
else {
console.log(check);
}
}
});
我希望得到的结果返回true或false,但实际输出结果未定义