node.js - 从反应客户端将base64数组发送到nodejs服务器
问题描述
我正在尝试将一组调整大小的 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 字符串它可以工作并且服务器接收它。我在这里做错了吗?
解决方案
如果Resizer.imageFileResizer()
是一个承诺,您必须await
在将数组发送到服务器之前使用该函数。
推荐阅读
- javascript - 如何扩展 Select.modify 的结果?
- flutter - 升级我的颤振后如何修复以下错误
- java - java.lang.IllegalArgumentException:非法base64字符a
- list - 颤振:将列表值匹配到映射列表键值
- android-studio - 我会在 kottlin 的图像按钮上插入文本
- vba - 将收件箱 + 子文件夹中的所有 email.Items 相加
- c# - 保存对通过下拉列表打开的文件的更改
- laravel - 表单操作缺少必需的参数
- java - vaadin CheckBoxGroup 不呈现
- c# - 是否可以仅在 IIS 中为 .net 核心 API 配置 HTTPS(没有“大量”.net 核心修改)?