У меня проблема с fileReader
для рендеринга изображения для загрузки.
Я не могу заставить base64 показать изображение, потому что я не знаю , как использовать asyn c, чтобы получить изображение перед возвратом .
Вы можете мне помочь? Ниже мой код.
<div className="previewsection-el">
<ul>
{acceptedFiles.map((file, index) => {
var filetype = file.path.split(".")[1];
switch (filetype) {
case "jpg":
case "png":
case "jpeg":
var readImg = "";
let reader = new FileReader();
reader.onload = next => {
readImg = reader.result;
};
reader.readAsDataURL(file);
//cannot return here.
return (
<li>
<img src={readImg} />
</li>
);
case "rar":
case "zip":
return (
<li>
<i className="file-archive" />
</li>
);
default:
return (
<li>
<i className="material-icons">insert_drive_file</i>
</li>
);
}
})}
</ul>
</div>;