我正在尝试将一组调整大小的 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.log 时,我会得到如下信息:
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 字符串,它可以工作并且服务器会接收它。 我在这里做错了吗?
答案 0 :(得分:0)
如果 Resizer.imageFileResizer()
是一个承诺,你必须在将数组发送到服务器之前 await
函数。