
01/08/2005, 07:56
|
 | | | Fecha de Ingreso: julio-2005
Mensajes: 35
Antigüedad: 19 años, 6 meses Puntos: 1 | |
Podrás adaptar este código para que desde un Servlet puedas abrir un fichero de extensión cualesquiera, y dependiendo de la extensión de este fichero .DOC, .PDF, .ZIP... etc podrás saber que tipo MIME tiene.....
private void fncDownloadFichero (HttpServletRequest request,
HttpServletResponse response, String file) throws Exception
{
HttpSession sesion = request.getSession();
String CONTENT_TYPE;
if (file.substring(file.length()-3) = "TXT") //SE VISUALIZA EL FICHERO EN EL NAVEGADOR
CONTENT_TYPE = "text/html";
else if (file.substring(file.length()-3) = "DOC") //SE VISUALIZA EL FICHERO USANDO MS-WORD
CONTENT_TYPE = "application/msword";
else if (file.substring(file.length()-3) = "ZIP") // SE DESCARGA USANDO UNA VENTANA QUE PREGUNTE AL USUARIO SI DESEA BAJAR A DISCO o ... USANDO WINZIP
CONTENT_TYPE = "application/x-zip";
else if (file.substring(file.length()-3) = "JPG") //SE DESCARGA USANDO UN VISOR DE IMAGENES
CONTENT_TYPE = "image/jpeg";
else if (file.substring(file.length()-3) = "GIF") // SE DESCARGA USANDO UN VISOR DE IMAGENES
CONTENT_TYPE = "image/gif";
else //SE DESCARGA USANDO UNA VENTANA DE DIÁLOGO... ABRIR...GUARDAR...
CONTENT_TYPE = "application/octet-stream";
response.setContentType(CONTENT_TYPE);
OutputStream sout = response.getOutputStream();
InputStream sin = new FileInputStream(file);
int n = sin.available();
sout.write(cabMime(200, "OK", CONTENT_TYPE, n));
byte buf[] = new byte[buffer];
while( ( n = sin.read( buf ) ) >= 0 )
sout.write( buf,0,n );
sin.close();
}
public static byte cabMime(int codigo,String mensaje,String ct, int tam )[]
{
Date d = new Date();
return( aBytes( "HTTP/1.0 "+codigo+" "+mensaje+CRLF+
"Date: "+d.toGMTString()+CRLF+
"Server: Java/"+version +CRLF+
"Content-type: "+ct+CRLF+
( tam > 0 ? "Content-length: "+tam+CRLF : "" )+CRLF ) );
}
Un saludo.
__________________ Ani Alamo Gómez de González
"Sin Dios no soy nada en este mundo, sin El nada puedo ser... ni las hojas de los árboles se mueven, sino es por su gran poder. Bendito seas Señor."
Última edición por Ani Alamo; 01/08/2005 a las 08:05 |