我将数组声明为:
list: string[] = [];
我推动它:
let infoFile: string = fileReader.result;
this.list.push(infoFile);
当我使用控制台日志时,我得到了一些奇怪的东西
[]
0
:
"data:image/jpeg;base64,/9j/4AAQSkZJRgA.....
1
:
"data:image/jpeg;base64.....
length
:
2
__proto__
:
Array(0)
为什么我不会得到类似的东西:
[ "str1", "str2", .. ]
当我使用list [0]时,我得到错误,它是未定义的。如何使用这些数据?
答案 0 :(得分:0)
您的代码
let infoFile: string = fileReader.result;
this.list.push(infoFile);
您认为 fileReader.result
是字符串。它实际上是一个ArrayBuffer:https://developer.mozilla.org/en-US/docs/Web/API/FileReader/result
因此你会得到像
这样的物品"data:image/jpeg;base64,/9j/4AAQSkZJRgA.....
length: 1
而不是
"data:image/jpeg;base64,/9j/4AAQSkZJRgA....."