• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

123
Vistas
¿Cómo verificar si la imagen no es válida en reaccionar?

Estoy tratando de crear una especie de galería de medios para la aplicación React, pero el problema es que a veces el usuario puede cargar algunas imágenes dañadas y necesito verificar de alguna manera si es posible leer la imagen y no dañarla antes de mostrarla. Sé que en la etiqueta <image/> hay una propiedad onerror en la que muestra otra imagen si la primera no funcionó.

 <img src={url} style={style} onError={this.hideImg}/>

Pero el problema es que uso un div con fondo de imagen, por lo que no funcionará para mí, y además, también necesito mostrar un mensaje de notificación de que el archivo está dañado. ¿Alguien sabe si hay algunas formas de verificar si el archivo es válido antes de mostrarlo en reaccionar?

about 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede crear una imagen en la memoria (es decir, no en la página) y esperar a que se cargue o se produzca un error. Por ejemplo:

 const Example = ({ url }) => { const [status, setStatus] = useState('loading'); useEffect(() => { const img = new Image(); img.onload = () => { setStatus('success'); } img.onerror = () => { setStatus('error'); } img.src = url return () => { img.onload = null; img.onerror = null; } }, []) if (status === 'loading') { return null; } else if (status === 'error') { return <div>Error loading image</div> } else { return <div style={{ backgroundImage: `url(${url})`}} /> } }
about 3 years ago · Juan Pablo Isaza Denunciar
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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda