Primero decir que estoy trabajando con JSF 2.0 y Primefaces 5.0
Debo mostrar un enlace el cual es un archivo de audio o de video o imagenes, etc. etc. al dar click en cualquiera de ellos debe mostrar un Modal con la imagen, en caso que lo sea ó un modal con un reproductor de audio en caso que sea un mp3 y así sucesivamente dependiendo al archivo al que hace referencia el enlace al que le hago click. Para esto cree un servlet y en el Web.xml de la aplicación le digo lo siguiente.
Código:
es decir que cada vez que identifique una url con esas características "/archivos/*" entre al servlet y haga lo suyo, la url claro esta viene de la BD por cada ficha a la cual quiera mostrar sus detalles. Cada ficha puede tener varios anexos que son los enlaces a los q eme referia anteriormente pudiendo ser imagenes, videos y audios, entonces lo que sucede es que si la ficha tiene por ejemplo una imagen(/archivos/mueble/32456.jpg) y un archivo de audio mp3 (/archivos/mueble/32456.mp3) al servlet solo entra cuando se trata de la imagen el archivo de audio no... si la ficha solo tiene un anexo que es un audio(/archivos/mueble/32456.mp3) pues nunca entra al servlet.<servlet> <servlet-name>mediaServlet</servlet-name> <servlet-class>ec.lead.ibp.utilitario.mediaServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>mediaServlet</servlet-name> <url-pattern>/archivos/*</url-pattern> </servlet-mapping>
Realmente no tengo idea por que este comportamiento porque las url son muy parecidas solo cambia la extensión del archivo. Adicione esto en el Web.xml por si fuese necesario; pero nada:
Código:
En la vista estoy utilizando HTML5 de esta forma<mime-mapping> <extension>*</extension> <mime-type>application/octet-stream</mime-type> </mime-mapping> <mime-mapping> <extension>mp3</extension> <mime-type>audio/x-mpeg</mime-type> </mime-mapping>
Código:
como dato adicional decir que segun el metodo <audio controls="controls" preload="none"> <source src="#{guiBusquedaBienes.mediaFile}" type="audio/xmpeg; codecs=mp3" /> </audio>
Código:
el mime-type de los ficheros de audio son getContentType()
Código:
Bueno espero me puedan ayudar. Un cordial saludo application/octet-stream