Узел сервера Multer req.files пуст
Я пытался загрузить несколько изображений на мой сервер Node js с помощью метода массива multer, и я прочитал и попробовал около 20 различных способов, но безуспешно. Я загружаю через iOS, используя метод Alamofire.upload, который генерирует данные multipart / form для тела http. Я могу успешно загрузить одно изображение, но не массив.
iOS часть
Alamofire.upload(
multipartFormData: { multipartFormData in
for img in images {
guard let imageData = UIImageJPEGRepresentation(img, 0.25) else {
return
}
multipartFormData.append(imageData, withName: "photo")
}
},
route.js
var upload = multer({
dest: './jobs',
limits: (40 * 1024 * 1024), // (MB * kb * bytes)
storage: multer.memoryStorage()
});
router.post("/xyz/:id/upload", upload.array('photo'), function (req, res) { // upload.single('photo')
console.log("POST to job photo upload route \n");
const mDy = new Date().toLocaleDateString(format, dateOptions);
var filePath = String("xyz/" + req.params.id + " " + mDy + ".jpg");
var writeStream = fs.createWriteStream(filePath);
req.pipe(writeStream);
console.log(req.files);
req.on('end', () => {
res.send(201, "photos saved");
console.log("photos saved");
});
});
1 ответ
Был в состоянии решить эту проблему, пропустил
fileName: "photo.jpg"
атрибут в этой строке:
multipartFormData.append(imageData, fileName: "photo.jpg", withName: "photo")