希望上传多个图像,我可以像在代码中一样单独进行,但现在我希望所有图库图像都在一个输入中发送并支持多个上传而不限制数字这里是我的代码。
router.post('/add-product', isAdmin, function (req, res, next) {
console.log(req.files);
errorMsg = req.flash('error')[0];
successMsg = req.flash('success')[0];
var imageFile, imageFile1, imageFile2, imageFile3;
if (!req.files) {
res.send('No files were uploaded.');
return;
}
imageFile = req.files.imageFile;
imageFile1 = req.files.imageFile1;
imageFile2 = req.files.imageFile2;
imageFile3 = req.files.imageFile3;
imageFile.mv('public/images/' + req.user._id + req.body.code + req.body.name + '.png', function (err) {
if (err) {
res.status(500).send(err);
}
});
imageFile1.mv('public/images/' + req.user._id + req.body.code + req.body.name + 'g1' + '.png', function (err) {
if (err) {
res.status(500).send(err);
}
});
imageFile2.mv('public/images/' + req.user._id + req.body.code + req.body.name + 'g2' + '.png', function (err) {
if (err) {
res.status(500).send(err);
}
});
imageFile3.mv('public/images/' + req.user._id + req.body.code + req.body.name + 'g3' + '.png', function (err) {
if (err) {
res.status(500).send(err);
}
});
product = new Product({
name: req.body.name,
code: req.body.code,
Wifi: req.body.Wifi,
campfire: req.body.campfire,
Pool: req.body.Pool,
parking: req.body.parking,
title: req.body.title,
Duration: req.body.Duration,
Product_Group: req.body.Product_Group,
price: parseFloat((req.body.price * 100).toFixed(2)),
description: req.body.description,
shippable: req.body.shippable,
taxable: req.body.taxable,
category: req.body.category,
Longitude: req.body.Longitude,
Latitude: req.body.Latitude,
imagePath: '/images/' + req.user._id + req.body.code + req.body.name + '.png',
imagePathg1: '/images/' + req.user._id + req.body.code + req.body.name + 'g1' + '.png',
imagePathg2: '/images/' + req.user._id + req.body.code + req.body.name + 'g2' + '.png',
imagePathg3: '/images/' + req.user._id + req.body.code + req.body.name + 'g3' + '.png',
});
console.log(product);
product.save(function (err) {
if (err) {
req.flash('error', 'Error: ' + err.message);
return res.redirect('/admin/products');
}
//console.log("product: " + product);
return res.redirect('/admin/products');
});
});
前面部分如下面的代码 html 部分相同,不同的图像有不同的输入,但现在想要为支持该功能的节点模块做多个输入是 express-fileupload
<div class="form-group">
<ul class="list-group">
<li class="list-group-item">
<label for='imageFile'>Display Image</label>
<input type='file' name='imageFile' class='form-control'>
</li>
</ul>
</div>
<div class="form-group">
<ul class="list-group">
<li class="list-group-item">
<label for='imageFile1'>Gallery1</label>
<input type='file' name='imageFile1' class='form-control'>
</li>
</ul>
</div>
<div class="form-group">
<ul class="list-group">
<li class="list-group-item">
<label for='imageFile2'>Gallery2</label>
<input type='file' name='imageFile2' class='form-control'>
</li>
</ul>
</div>
<div class="form-group">
<ul class="list-group">
<li class="list-group-item">
<label for='imageFile3'>Gallery3</label>
<input type='file' name='imageFile3' class='form-control'>
</li>
</ul>
</div>
1 回答
你可以做这样的事情
确保将上传目录更改为 ur 目录