У меня есть этот маршрут, который загружает несколько файлов в cloudinary, если я в массиве console.log (assetUpload) в загрузке l oop показывает URL загруженных изображений. Но когда я отправляю URL-адреса в ответ клиенту, массив становится пустым. Я думаю, что это какая-то проблема в области видимости.
router.route('/update/')
.post(
multiUpload
,
async(req, res)=> {
try {
// console.log(req.body);
var assetUploaded = [];
let {signature, companyLogo, profilePicture} = req.files;
let assets = [signature, companyLogo,profilePicture ];
// console.log(assets[0])
await assets.forEach ((asset) => {
cloudinary.v2.uploader.upload(
asset[0].path, (error, result) => {
error ? res.status(400).json({message :error.message}) :
// assetUploaded.push(result.secure_url)
assetUploaded.push(
{
name:asset[0].fieldname,
url: result.secure_url
}
)
console.log(assetUploaded)
}
)
})
res.status(200).json({
message : `user updated successfully`,
urls : assetUploaded
})
} catch (err) {
// console.log(err)
res.status(400).json({message: 'Error occured ' +err.message})
}
})