我想使用 multer 上传图片。但它不起作用。这里有什么问题?
这段代码在我的路由文件中。
var multer = require('multer');
var upload = multer({ dest: 'public/uploads/' });
这是我的发帖路线。
router.post('/addNewFood', upload.single('avatar'),function (req, res, next) {
console.log(req.files);
});
最佳答案
试试这个,它对我有用。使用 express 和 node。
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'public/uploads/')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
});
var upload = multer({ storage: storage }).single('avatar');
router.post('/addNewFood', //Your authentication check,//
function (req, res, next) {
upload(req, res, function(err) {
if (err) {
res.redirect(req.headers.referer + "/error.html");
return;
}
if (!req.files) {
res.redirect(req.headers.referer + "/error.html");
return;
} else {
//Implement your own logic if needed. Like moving the file, renaming the file, etc.
res.redirect(req.headers.referer);
}
});
}
);
关于javascript - 如何在 Node.js 中使用 multer 上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42021053/