Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

299
Vistas
Large images don't render as a base64 string in react
import React,{useState,useEffect} from 'react';

function App() {
  const [image,setImage]= useState<File|null>();
 const [preview,setPreview] = useState<string|null>();
  useEffect(()=>{
    if(image){
      const reader = new FileReader();
      reader.onloadend=()=>{
        setPreview(reader.result as string);
        console.log(reader.result);
      }
      reader.readAsDataURL(image);
    }else{
      setPreview(null);
    }  
  },[image])

  return (
    <div className="App">
    <p>plm in grt{preview}</p>

<input type="file" onChange={
  (event:any|null)=>{

    const file:File|null = event?.target.files[0];
    if(file && file.type.substr(0,5)==="image"){
      setImage(file);

    }else{
      setImage(null);
    }
  }
}/>
    </div>
  );
}

export default App;

The base64 string of the image is stored in the "preview" state. When I upload a very small image(500kb), the preview inside the p tag renders. In the case where I upload a 5mb image, the page transforms to white and nothing happens. What would the issue be. If I wait for one minute, the input button renders, but no string shows up on screen. What would be the cause, I'm guessing, the tag renders before the preview stores the whole base64 string?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda