Нужно загрузить дополнительную библиотеку:
npm i blueimp-load-image --S
Загрузить ее на свою страницу
import loadImage from "blueimp-load-image/js";
И вместо использования fileReader, использовать библиотеку так:
onSelectFile = e => {
if (e.target.files && e.target.files.length > 0) {
loadImage(
e.target.files[0],
img => {
var base64data = img.toDataURL(`image/jpeg`);
this.setState({ src: base64data });
},
{ orientation: true }
);
// const reader = new FileReader();
// reader.addEventListener('load', () =>
// this.setState({ src: reader.result })
// );
// reader.readAsDataURL(e.target.files[0]);
}
};
Вот рабочий пример в codesandbox