Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Problemas con Servlet

Hola tengo el siguiente problema...
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.

<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>

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.
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:

<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>

En la vista estoy utilizando HTML5 de esta forma

<source src="#{guiBusquedaBienes.mediaFile}" type="audio/xmpeg; codecs=mp3" />


como dato adicional decir que segun el metodo getContentType() el mime-type de los ficheros de audio es "application/octet-stream"

Bueno espero me puedan ayudar. Un cordial saludo

febrero 18, 2015 | Registered Commenterodsa84

Raro raro, ni idea de porque te pasa, sólo se me ocurre decir que cambies la extensión de unos de tus mp3 a jpg a ver si accede a tu servlet, si es así está claro que es el mimetype, ¿porqué? ni idea.


Otra opción:
Porque no en vez de acceeder por URL completa accedes por ID por ejemplo

/archivos/mueble/14

y luego en base a ese ID buscas si que es y devuelves el mp3 o jpg según corresponda.

Son cosas cutres que se me ocurren para probar porque puede pasar pero es raro.

Espero que esto se sirva de algo aunque no es mucho, espero que lo soluciones .

febrero 20, 2015 | Registered Commenterantuansoft