FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
como saber que tipo de fichero es
Hola a todos:
estoy haciendo un programa, donde necesito determinar que tipo de archivo es el seleccionado... sere mas especifico, tenemos un archivo de imagen, puede ser bmp, gif, jpg, png, etc. Este archivo, es myimagen.png, cullo contenido es una foto de mi hermano, pero el, le cambio la extension y desde que descubrio esto, esconde sus archivos de esta forma, y tengo que estar probando cada programa para saber cual me habre correctamente el archivo... alguien tiene algun metodo o funcion para saber que tipo de fichero es... |
#2
|
||||
|
||||
El mismo Paint abre el archivo aunque su extensión esté cambiada...
Saludos. |
#3
|
||||
|
||||
Supongo que debe haber una cabecera estandard para cada tipo de fichero (N bytes al inicio que sean coincidentes para todos los ficheros de un tipo).
Deberías investigar esos ficheros para los diferentes tipos e intentar identificarlos.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
|||
|
|||
Hola a todos,
yo utilizo las siguiente función para determinar el tipo imagen para las extensiones mas conocidas,
Para el resto de extensiones simplemente hay que buscar las cabezeras que utilizan y añadirlas a la lista Un saludo |
#5
|
||||
|
||||
En algunos *nix se puede correr:
Cita:
https://stackoverflow.com/questions/...python#2753385 --- Ahora, dile a tu hermano que deje de esconder sus fetiches de esa manera...
__________________
El malabarista. |
#6
|
||||
|
||||
Cita:
LineComment Saludos |
#7
|
||||
|
||||
Bueno, no sé si he llegado tarde... en fin, para saber el MimeType de un archivo, también puedes usar las Indy:
Y usarla así:
Sacado de http://stackoverflow.com/questions/2...rver-with-indy
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#8
|
||||
|
||||
jhonny, gracias por tu aporte todo es bien recibido, lo probare y vere si funciona, sin que el archivo tengan las extenciones....
gracias bucanero, tu codigo es de 10, solo tengo algunas duditas: yo modifique tu codigo para saber el encabezado de cada uno de los ficheros y resulta q tengo dudas, ¿como sabes tu, que el .jpg es Copy(FirstBytes, 1, 2) y no Copy(FirstBytes, 1, 3)?... como puedes diferenciar .jpg de .jpe y .jpeg que al final me dan el mismo encabezado... tambien me resulto que el encabezado de .wma y .wmv son los mismo. claro esta q al reproducirlos se determina q tipo de contenidos trae... esta charranada de mi hermano me motivo a investigar un poquito mas por lo que tome varios archivos de audio, video, imagen, comprimidos y ejecutables y muestro los encabezados de cada uno al cargarlos en la app y me surguio una pregunta... puedo yo cambiar el encabezado de los archivos, ya sea modificandolos o agregandole y que estos no se corrompan o sea que no pierda la info y se reproduzca, visualice o ejecute. gracias tambien a mamcx, yo propongo crear una dll (entre los interesados en el clubdelphi) donde recojan gran parte de las extenciones mas usada y clasificarlas usando el codigo de bucanero a no ser que ya exista y alguien quiera dar luz... no me he motivado a terminar nigun tutorial de python, si se pudiera convertir esa lib en dll seria genial, pero creo que si nos unimos tendremos una, para la comunidad. gracias a todos. |
#9
|
||||
|
||||
Esa DLL ya existe. Se llama libmagic. Y ademas esta la opcion de jhonny, que deberias probar.
--- Mas concretamente: Cita:
__________________
El malabarista. |
#10
|
||||
|
||||
GRACIAS A TODOS,
si mamcx, ya vi la opcion de jhonny y muestro los resultados, pero no me facilitan las cosas... creo q por ahora sigo tomando la opcion de bucanero, que pese a q es mas larga, tiene alto rendimiento y mas comoda para mi, el problema esta en las cabeceras que hay cabeceras que los ficheros son distintos tipos, por ejemplo una dll y un exe; inclusibe hay distintas cabeceras entre dll (q rollo)... mas seguire tu consejo de la libreria (libmagic) y buscare todas las llamadas que se le puedan hacer y probare, si tienes un link que muestre todas las llamadas a la libreria seria genial. O me vere reinbentando la rueda.... |
#11
|
||||
|
||||
bueno, por fin puedo modificar las cabeseras de los archivos??? y estos siguen siendo los mismos...
|
#12
|
||||
|
||||
Hola.
Cita:
Cita:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#13
|
||||
|
||||
es pregunta, gracias por comentar
|
#14
|
||||
|
||||
Si modificas las cabeceras estarás corrompiendo el archivo.
__________________
El malabarista. |
#15
|
||||
|
||||
Hola.
Si interpreto bién tu consulta, la respuesta es si. Aunque modifiques el file signature, el resto del contenido del archivo seguirá siendo el mismo. Por si te pudiera ser útil, aquí encontré otra lista de file signatures. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#16
|
||||
|
||||
Si tratas de esconder un archivo gráfico cambiando su cabecera, ten por seguro que ningún programa lo reconocerá como válido. Restaurando la cabecera, todo volverá a funcionar.
Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como saber el tamaño de un fichero | kenychy | C++ Builder | 13 | 19-11-2010 16:46:59 |
Como saber si un fichero está abierto | RaulChemical | API de Windows | 13 | 30-12-2008 17:31:42 |
Cómo saber qué tipo de SO es. | Ziara | C++ Builder | 4 | 22-09-2008 13:04:21 |
Cómo saber si un fichero esta marcado de sólo lectura ? | David | Varios | 2 | 13-08-2008 16:20:19 |
como saber el tipo de datos de un campo | miguelml | Varios | 4 | 17-11-2005 08:36:17 |
|