Я пытаюсь извлечь данные из массива req.files, но точечная запись не работает, и я не понимаю, чего мне не хватает.
Настройка моего мопса:
if product.image
.col-lg-1.pull-left
img.product-img(src='/images/' + product.image, alt=product.title)
.col-lg-11.pull-right
input(type="hidden", name="mainImg", value=product.image)
input.form-control(type="file", name="image0", id="image0")
.clear
else
.col-lg-11.pull-right
input.form-control(type="file", name="image0", id="image0" value="")
Возвращает массив req.files, как и ожидалось:
console.log(req.files)
результат:
{ image0:
[ { fieldname: 'image0',
originalname:'Some_image.jpg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: 'images',
filename: 'bdad727257698479d84157ad0211b05f.jpg',
path: 'images\\bdad727257698479d84157ad0211b05f.jpg',
size: 109205 } ],
image1:
[ { fieldname: 'image1',
originalname:'Some_image.jpg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: 'images',
filename: '9546c3810ad9d6c471fde641a30078fd.jpg',
path: 'images\\9546c3810ad9d6c471fde641a30078fd.jpg',
size: 109205 } ],
image2:
[ { fieldname: 'image2',
originalname:'Some_image.jpg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: 'images',
filename: '0bd6d9da3b53348f5b9145723d4da340.jpg',
path: 'images\\0bd6d9da3b53348f5b9145723d4da340.jpg',
size: 78420 } ]
} '#################'
Возвращает первый элемент массива, как и ожидалось:
console.log(req.files['image0'], '#################')
результат:
[ { fieldname: 'image0',
originalname: 'Some_Image_Name.jpg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: 'images',
filename: '28efd1e7544820acc0ac174ac8404ea9.jpg',
path: 'images\\28efd1e7544820acc0ac174ac8404ea9.jpg',
size: 109205 } ] '#################'
Возвращает неопределенное значение, и я не понимаю, почему:
console.log(req.files['image0'].fieldname)
Вот моя настройка мультитера:
const upload = multer({dest: 'images', storage: imgStorage, fileFilter: fileFilter });
// app.use(upload.array('image'));
app.use(upload.fields([
{
name: 'image0', maxCount: 1
},
{
name: 'image1', maxCount: 1
},
{
name: 'image2', maxCount: 1
},
{
name: 'image3', maxCount: 1
}
])
В конечном итоге я хочу настроить цикл для итерации возможных 20 или более изображений, но сначала я хочу получить данные, прежде чем попытаться выполнить цикл таким образом.Этот проект предназначен для загрузки нескольких изображений, когда изображения не перезаписываются, если не переданы данные изображения и если переданы данные, только указанное изображение перезаписывается.Вот почему я использую upload.fields вместо .any () или array ().
Любая помощь или совет будут с благодарностью.