我有这个atm:
var multer = require('multer');
var upload = multer({dest:'./public/upload'});
var session = require('express-session');
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
var crypto = require('crypto');
var upload = multer({
storage: multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './public/upload');
},
filename: function (req, file, cb) {
var ext = require('path').extname(file.originalname);
ext = ext.length > 1 ? ext : "." + require('mime').extension(file.mimetype);
require('crypto').pseudoRandomBytes(16, function (err, raw) {
cb(null, (err ? undefined : raw.toString('hex')) + ext);
});
}
})
});
router.post('/registo',upload.single('file'), function (req, res) {
因为你们可以看到我在route.post中发送文件,当用户发送它时它工作正常,但如果不是我得到错误,内部服务器错误(500)如何在没有文件的情况下执行帖子如果用户没有发送任何内容?
答案 0 :(得分:0)
您可以在客户端检查并在那里发送(或不发送)正确的(即另一个)POST。
在服务器端,您可以尝试处理这种情况:
router.post('/registo',upload.single('file'), function (req, res) {
if(req.file.size === 0){
...
}
...
}