¿Por qué recibo el mensaje "No es un archivo JPEG: comienza con 0x89 0x50" cuando intento abrir mi archivo jpg?¿Por qué me aparece el error ?: "No es un archivo JPEG: comienza con 0x89 0x50"
Respuesta
El archivo es en realidad un archivo PNG con la extensión de archivo incorrecta. "0x89 0x50" es como se inicia un archivo PNG.
Su archivo no es un archivo JPEG, simplemente ha sido renombrado desde PNG a JPEG en algún punto del camino. Algunos programas abrirán esto como una extensión de archivo reconocida e inferirán el tipo del prefijo, pero obviamente no el que estás usando.
Esta es la respuesta de error cuando intenta abrir un archivo PNG utilizando un visor de archivos JPEG que usa libjpeg para abrir archivos jpeg. Su archivo se renombra de png a JPEG como se menciona en las respuestas anteriores.
Aquí hay una secuencia de comandos python para identificar esas imágenes jpg de falla en un directorio.
import glob
import os
import re
import logging
import traceback
filelist=glob.glob("/path/to/*.jpg")
for file_obj in filelist:
try:
jpg_str=os.popen("file \""+str(file_obj)+"\"").read()
if (re.search('PNG image data', jpg_str, re.IGNORECASE)) or (re.search('Png patch', jpg_str, re.IGNORECASE)):
print("Deleting jpg as it contains png encoding - "+str(file_obj))
os.system("rm \""+str(file_obj)+"\"")
except Exception as e:
logging.error(traceback.format_exc())
print("Cleaning jps done")
simplemente cambie el nombre * .jpg a * .png. O abra este archivo en el navegador
- 1. error IOS UIImageJPEGRepresentation: No es un archivo JPEG: comienza con 0xff 0xd9
- 2. ¿Por qué me aparece el error "db_name debe ser una cadena o símbolo"?
- 3. ¿Por qué el código IL generado comienza con un Nop?
- 4. ¿Por qué me aparece "MySQL no se está ejecutando pero el bloqueo existe"?
- 5. ¿Por qué me aparece "debe anular un método de superclase" con @Override?
- 6. ¿Por qué aparece un mensaje de error que .replace no es una función?
- 7. ¿Por qué me sale un error de serialización?
- 8. ¿Por qué me aparece el error "Se detectó un valor de Request.Form potencialmente peligroso desde el cliente"?
- 9. ¿Por qué aparece el ValidationSummary aunque el ModelState es válido?
- 10. ¿Por qué no me funciona el strlen?
- 11. ¿Por qué aparece el error "Demasiadas constantes locales"?
- 12. No entiendo por qué el compilador me está dando el error con este código
- 13. ¿Por qué esta declaración MYSQL me da un error?
- 14. Por qué me aparece "No se encontraron accesorios". cuando ejecuto el comando "python manage.py syncdb"?
- 15. ¿Por qué aparece el error "referencia no definida a sqrt" aunque incluyo el encabezado math.h?
- 16. ¿Por qué aparece el error "No existe ningún atributo" para el Localizador de coincidencias al publicar?
- 17. ¿Por qué aparece el error "No se puede resolver el símbolo <symbolname>" en ReSharper?
- 18. ¿Por qué aparece el error "error: nombre de tipo desconocido 'virtual'" cuando intento compilar este código?
- 19. ImageIO no puede escribir un archivo JPEG
- 20. ¿Por qué preg_replace me arroja un error de "modificador desconocido"?
- 21. ¿Por qué este VBScript me da un error?
- 22. ¿Por qué Passport.js me da un error de middleware?
- 23. ¿Por qué obtengo un objeto no es un error iterable?
- 24. por qué comienza el comando windbg. o!
- 25. VB.Net ¿por qué no es esto un error?
- 26. ¿Por qué me aparece el error "can not modify header headers already send by registration_model" en codeigniter?
- 27. ¿Por qué aparece el error 'int' no se puede llamar cuando se usa la función suma()?
- 28. Me aparece un error "destino de hipervínculo desconocido 0" cuando intento ejecutar un informe de Jasper
- 29. ¿Por qué no es un error de sintaxis?
- 30. ¿Por qué aparece el error "No se pueden almacenar claves no privadas" al crear un socket SSL en Java?
Si desea encontrar esos archivos, puede usar este enlace de StackOverflow: https://stackoverflow.com/questions/30684796/rename-a-bunch-of-png-images- with-jpg-extension-to-png – zigzag