Multer没有上传源代码下面的服务器目录上的文件来上传文件。创建文件对象,这意味着当我记录 req.files 文件但没有上传到directory.im时使用POSTMAN进行API测试通过 formdata-> uploadfiles 发送文件没有调用关键“uploadfiles” 定义函数,因为l og in function 不是控制台名称“Hello”
const storage = multer.diskStorage({
destination: function (req, file, cb) {
console.log("Hello Umesh");
cb(null, '../resources/uploads'); // Absolute path. Folder must exist, will not be created for you.
},
filename: function (req, file, cb) {
console.log("Hello Umesh");
cb(null, file.fieldname + '-' + Date.now());
}
});
const upload = multer({
storage: storage,
limit:{filesize:10}
}).single('uploadfiles');
router.post('/save', function (req, res) {
upload(req, res, function (err) {
if (err) {
res.json({
success: false,
message:err
});
}
else{
res.json({
success: true,
message: req.file
});
}
})
});
答案 0 :(得分:0)
尝试使用存储位置的绝对路径:
cb(null, require('path').join(__dirname, '..', 'resources', 'uploads'));
代替:
cb(null, '../resources/uploads');
更新
由于fs
模块中函数的工作目录是项目的根文件夹(如果使用npm start
命令运行项目),您只需使用:
cb(null, 'resources/uploads');