[英]How to upload 2 image different 2 folder with NodeJs Multer?
[英]nodejs upload 2 single image in 2 different folder
我正在嘗試在不同的文件夾中上傳 2 張圖片,但出現錯誤。 我已將數組用於 multer,但仍顯示意外的字段或文件名。 我使用 multer 將節點用作服務器
我的代碼是
const DIR = './fabric/img/';
const designDIR = './fabric/design/';
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, DIR);
},
filename: (req, file, cb) => {
const fileName = file.originalname.toLowerCase().split(' ').join('-');
cb(null, fileName)
}
});
const designstorage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, designDIR);
},
filename: (req, file, cb) => {
const fileName = file.originalname.toLowerCase().split(' ').join('-');
cb(null, fileName)
}
});
var upload = multer({
storage: storage,
designstorage: designstorage,
limits: {
fileSize: 1024 * 1024 * 5
},
fileFilter: (req, file, cb) => {
if (file.mimetype == "image/png" || file.mimetype == "image/jpg" || file.mimetype == "image/jpeg") {
cb(null, true);
} else {
cb(null, false);
return cb(new Error('Only .png, .jpg and .jpeg format allowed!'));
}
}
});
router.post('/fabric', upload.any(), (req, res, next) => {
const io = req.app.get('io');
const product = new db.fabric({
image: req.protocol + "://" + req.hostname + ":" + req.socket.localPort + "/img/" + req.files.filename,
design: req.protocol + "://" + req.hostname + ":" + req.socket.localPort + "/design/" + req.files.filename,
});
product.save().then(result => {
console.log(result);
res.status(201).json({
message: "product added successfully!",
productCreated: {
image: result.image,
design: result.design
}
})
io.emit('productAdded');
}).catch(err => {
console.log(err),
res.status(500).json({
error: err
});
})
})
從郵遞員“圖像”發帖時出現以下錯誤:“ http://localhost:3000/img/undefined ”
嘗試使用 req.files[0].originalname, req.files[1].originalname,如果不檢查控制台,則您將獲得所需的字段名
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.