1 回答

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
如果你想在控制器中使用multer它,你只能在路由中使用函數(shù)和對(duì)象,而不是在控制器中,你必須在控制器中編寫(xiě)存儲(chǔ)和上傳函數(shù),這里我使用了錯(cuò)誤multer處理并且我正在上傳多個(gè)圖像
Documents: async (req, res) => {
if (!req.headers.room_id) {
logger.warn(error.MANDATORY_FIELDS);
return res.status(500).send(error.MANDATORY_FIELDS)
}
try {
let storage = multer.diskStorage({
destination: function (req, file, cb) {
let id = req.headers.room_id;
let path = `tmp/daily_gasoline_report/${id}`;
fsextra.mkdirsSync(path);
cb(null, path);
},
filename: function (req, file, cb) {
// console.log(file);
let extArray = file.mimetype.split("/");
let extension = extArray[extArray.length - 1];
cb(null, file.fieldname + '-' + Date.now() + "." + extension);
}
})
var upload = multer({ storage: storage }).array('images', 100);
upload(req, res, function (err) {
if (err) {
console.log(err);
return res.end("Error uploading file.");
} else {
res.end("File has been uploaded");
}
});
let result = error.OK
logger.info(result);
return res.status(200).send(result)
} catch (err) {
logger.warn(err);
console.log(err);
return res.status(500).send(error.SERVER_ERROR)
}
}

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
你有解析器嗎?你如何解析數(shù)據(jù)?你需要使用一些東西來(lái)為你提供這樣的數(shù)據(jù): https: //www.npmjs.com/package/express-fileupload
這個(gè)包幫助你解析表單數(shù)據(jù)和文件數(shù)據(jù)本身。
添加回答
舉報(bào)