我尝试将输入文件的 base64 值存储到状态变量中。但是,问题是获取 base64 是异步的。所以我在 console.logs 中遇到了一些麻烦...
这是我的代码:
getBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
arrayStamp.push({photo: reader.result})
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}
handleFiles(event){
for(var x = 0; x < event.target.files.length; x++){
this.getBase64(event.target.files[x])
}
console.log(arrayStamp)
for(var x = 0; x < arrayStamp.slice.length; x++){
console.log(arrayStamp[x])
}
}
这给了我:
变量 arrayStamp 在类之前声明,如下所示:
let arrayStamp = []
class Photos extends Component {
constructor(props){
super(props)
this._child = React.createRef();
this.state = {
modalTitle: '',
alpha3: '',
...
我应该如何浏览数组,它似乎是空的,但我在 console.log 中得到了值....
我使用了一些库,如 react-file-reader,但没有人给我获得原始文件 + base64 的可能性。
MM们
慕斯王
相关分类