从react客户端向nodejs服务器发送base64数组



我正在尝试将一个调整大小的base64图像数组发送到我的nodejs服务器。

if (files) {
let array: string[] = []
for (let i = 0; i < files.length; i++) {
Resizer.imageFileResizer(
files[i],
700,
700,
'auto',
100,
0,
(uri: any) => {
array.push(uri)
},
'base64'
)
}
setImagesToSent(array)
console.log('Console logging the array:', array)
dispatch(productImageUpload({ id, array }))
}

当我控制台日志数组时,我会得到这样的信息:

Console logging the array: 
[]
0: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArw
1: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArw
2: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaE
length: 3
__proto__: Array(0)

但当我检查网络选项卡时,我看到一个空数组。。

id: "60d57c21acedc20574f2dd2d", array: []
array: []
id: "60d57c21acedc20574f2dd2d"

此外,当我检查服务器控制台时,我在阵列中没有得到任何信息,如果我尝试发送单个base64字符串,它会工作,服务器会接收它。我是不是做错了什么?

如果Resizer.imageFileResizer()是一个承诺,那么在将数组发送到服务器之前,您必须先await函数。

相关内容

最新更新