Uso de Apache Tika para obtener el mimetype de un fichero

Como ya hay un compañero que se ha peleado, dejo por escrito la integración con Apache Tika para obtener el tipo de los archivos, como apuntábamos en esta entrada.

Añadir las dependencias en Maven:

 <!-- Biblioteca para obtener los mimetypes -->
 <dependency>
 <groupId>org.apache.tika</groupId>
 <artifactId>tika-core</artifactId>
 <version>1.9</version>
 </dependency> 
 <dependency>
<!-- Es necesario incluir esta biblioteca para que detecte correctamente algunos ficheros -->
 <groupId>org.apache.tika</groupId>
 <artifactId>tika-parsers</artifactId>
 <version>1.9</version>
 </dependency>

Código para obtener el mimetype:

//calcular el mimetype
File ficheroOrigen = new File("..............");
TikaConfig tika; 
tika = new TikaConfig(); 
Metadata metadata = new Metadata(); 
metadata.set(Metadata.RESOURCE_NAME_KEY, ficheroOrigen.toString()); 
MediaType mime = tika.getDetector().detect(TikaInputStream.get(ficheroOrigen, metadata), metadata); 
peticion.setpMimeType(mime.toString());

Si quieres usarlo para ficheros en BLOBs o del navegador, puedes pasar un Blob o un inputStream en la función TikaInputStream.get
https://tika.apache.org/1.0/api/org/apache/tika/io/TikaInputStream.html

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s