1
在文件上傳期間,我想驗證文件大小,確保上傳的文件是實際圖像,並且最後但並非最不重要的是驗證標題已寫入圖片。但是這個代碼不起作用。我該怎麼辦?在node.js中添加邏輯/驗證功能(express)
var multer = require('multer'),
upload = multer({
dest: 'uploads/',
onFileUploadStart: function(file, req, res){
if(file.size > 1000000) {
res.send("Maximum picture size is 1 MB");
return false;
}
if(req.body.postname === ''){
res.send("Enter a title name for your post");
return false;
}
if(file.mimetype !== 'image/png' && file.mimetype !== 'image/jpg' && file.mimetype !== 'image/jpeg'){
res.send("Supported image files are jpeg, jpg, and png");
return false;
}
}
});
而這是通過表單獲取請求的路由。
router.post('/uploadpost', upload.single('image'), function(req, res){
fs.rename(req.file.path, req.file.destination + req.file.originalname, function(err){
if(err){
throw err;
}
});
var postObj = {
Title : req.body.postname,
Img_path : req.file.destination + req.file.originalname
}
var query = connection.query('INSERT INTO posts SET ?', postObj, function(err, result){
if(err){
throw err;
}
});