Multer 未按要求创建文件
Multer not creating file on request
我对路由器进行了以下设置,但 multer 中间件没有按要求创建文件,所以
req.file
始终未定义。
const multer = require('multer');
let storage = multer.memoryStorage();
function fileFilter (req, file, cb) {
if(file.mimetype === 'image/jpeg' || file.mimetype === 'image/png'){
cb(null,true);
return;
}
cb(new Error('wrong file type:not PNG or JPEG'),false);
}
const upload = multer({
storage : storage,
fileFilter : fileFilter
});
this.getServer().post('/vendor/profile/logo',upload.single('imageFile'),jwt,(req, res) => {
this.addCompanyLogo(req).then(user => {
res.status(200).send(user);
}).catch(err => {
console.log(err);
res.status(err.status).send(err.error);
});
});
我在应用程序级别也有 bodyparser。
server = express();
server.use(bodyParser.json());
server.use(bodyParser.urlencoded({ extended: true }));
server.use(cors());
我正在使用邮递员发出请求:
到目前为止没有任何效果。我尝试删除 bodyparser 认为这是问题所在,但没有用。尝试重新排序中间件,但也没有用。
问题原来与我的本地文件路径有关,其中包含邮递员不支持的字符,例如 ö 。
我对路由器进行了以下设置,但 multer 中间件没有按要求创建文件,所以
req.file
始终未定义。
const multer = require('multer');
let storage = multer.memoryStorage();
function fileFilter (req, file, cb) {
if(file.mimetype === 'image/jpeg' || file.mimetype === 'image/png'){
cb(null,true);
return;
}
cb(new Error('wrong file type:not PNG or JPEG'),false);
}
const upload = multer({
storage : storage,
fileFilter : fileFilter
});
this.getServer().post('/vendor/profile/logo',upload.single('imageFile'),jwt,(req, res) => {
this.addCompanyLogo(req).then(user => {
res.status(200).send(user);
}).catch(err => {
console.log(err);
res.status(err.status).send(err.error);
});
});
我在应用程序级别也有 bodyparser。
server = express();
server.use(bodyParser.json());
server.use(bodyParser.urlencoded({ extended: true }));
server.use(cors());
我正在使用邮递员发出请求:
到目前为止没有任何效果。我尝试删除 bodyparser 认为这是问题所在,但没有用。尝试重新排序中间件,但也没有用。
问题原来与我的本地文件路径有关,其中包含邮递员不支持的字符,例如 ö 。