Inicar descargas desde un applet- ayuda por favor!!!
Hola! soy nuevo por aca. Mi consulta es la siguiente:
Necesito saber como puedo hacer para que cuando el usuario haga clic en un boton dentro del applet, se inicie la descarga de un archivo que se encuentra en la misma computadora que la pagina con el applet. ¿Existe alguna manera de que el applet le mande un mensaje al browser que lo contiene, para que este inicie la descarga? ¿o deberia usar el File Dialog de swing para que el usuario eliga la ubicacion donde desea guardar el archivo bajado, y luego usar alguna funcion de java para guardarlo ahi?de ser asi, ¿que q funcion deberia usar para copiar el archivo a la destinacion elegida por el usuario, para no tener que crear un nuevo archivo y copiar byte por byte desde el archivo original?¿existe alguna otra opcion?
Espero que puedan ayudarme! muchas gracias.
Necesito saber como puedo hacer para que cuando el usuario haga clic en un boton dentro del applet, se inicie la descarga de un archivo que se encuentra en la misma computadora que la pagina con el applet. ¿Existe alguna manera de que el applet le mande un mensaje al browser que lo contiene, para que este inicie la descarga? ¿o deberia usar el File Dialog de swing para que el usuario eliga la ubicacion donde desea guardar el archivo bajado, y luego usar alguna funcion de java para guardarlo ahi?de ser asi, ¿que q funcion deberia usar para copiar el archivo a la destinacion elegida por el usuario, para no tener que crear un nuevo archivo y copiar byte por byte desde el archivo original?¿existe alguna otra opcion?
Espero que puedan ayudarme! muchas gracias.
Hola:
La verdad es que lo veo difÃcil.
No sé si el applet puede indicarle algo al navegador, nunca he visto ni oido nada sobre el tema.
Desde al Applet además sà podrÃas traer el fichero del servidor, pero no puedes escribirlo en el disco del usuario. Por temas de seguridad un Applet no puede acceder a ningún recurso (disco duro entre otros) del usuario. La única opción a esto (que nunca he probado) es firmar el Applet. De esta forma se preguntará al usuario si se fÃa de esta firma y si dice que sÃ, podrás escribr en el disco duro.
Se bueno
La verdad es que lo veo difÃcil.
No sé si el applet puede indicarle algo al navegador, nunca he visto ni oido nada sobre el tema.
Desde al Applet además sà podrÃas traer el fichero del servidor, pero no puedes escribirlo en el disco del usuario. Por temas de seguridad un Applet no puede acceder a ningún recurso (disco duro entre otros) del usuario. La única opción a esto (que nunca he probado) es firmar el Applet. De esta forma se preguntará al usuario si se fÃa de esta firma y si dice que sÃ, podrás escribr en el disco duro.
Se bueno
Gracias chuidiang!!
El practico que me pidieron es un poco simple:
En realidad la pagina con el applet, la base de datos y el archivo a descargar (o sea lo que seria correspondiente al servidor segun entiendo) se encuentran en la misma computadora que seria el cliente, o sea que la descarga seria mas bien copiar un archivo de una carpeta a otra, solo que deberia hacerlo de la forma que se vea lo mas parecida posible a una descarga de la web.
Desde ese punto de vista no creo que me de problemas por el tema de la seguridad, no?
de todos modos, si necesitara hacerlo desde un servidor y firmar el applet como decis, sabes como puedo hacer la parte de la escritura??
El practico que me pidieron es un poco simple:
En realidad la pagina con el applet, la base de datos y el archivo a descargar (o sea lo que seria correspondiente al servidor segun entiendo) se encuentran en la misma computadora que seria el cliente, o sea que la descarga seria mas bien copiar un archivo de una carpeta a otra, solo que deberia hacerlo de la forma que se vea lo mas parecida posible a una descarga de la web.
Desde ese punto de vista no creo que me de problemas por el tema de la seguridad, no?
de todos modos, si necesitara hacerlo desde un servidor y firmar el applet como decis, sabes como puedo hacer la parte de la escritura??
Hola:
Un Applet no puede escribir en el disco duro del cliente. Tampoco puede hacerlo en el del servidor (aunque sea el mismo), salvo que el servidor web tenga algún mecanismo para ello (servlets o similar). El problema de seguridad lo vas a tener igual, el navegador no va a permitir al Applet escribir en el disco duro.
Lo de la firma no lo he hecho nunca, pero en http://chuidiang.blogspot.com/2005/09/merencianotk-ver-tema-como-firmar-un.html tienes una pequeña guia de como hacerlo.
Se bueno.
Un Applet no puede escribir en el disco duro del cliente. Tampoco puede hacerlo en el del servidor (aunque sea el mismo), salvo que el servidor web tenga algún mecanismo para ello (servlets o similar). El problema de seguridad lo vas a tener igual, el navegador no va a permitir al Applet escribir en el disco duro.
Lo de la firma no lo he hecho nunca, pero en http://chuidiang.blogspot.com/2005/09/merencianotk-ver-tema-como-firmar-un.html tienes una pequeña guia de como hacerlo.
Se bueno.
Gracias de nuevo por tu tiempo, voy a probar eso de firmar el applet. aun asi, como una vez que tengo permisos para acceder al disco para copiar el archivo de una carpeta a otra? porque lo unico que encuentro en manuales y tutoriales es como crear y/o modificar un archivo, pero no me parece que sea eficiente crear un nuevo archivo en la carpeta destino y copiar byte a byte el contenido del original :S ¿¿que otra forma teng de hacer esto??
Hola de nuevo:
La forma buena de hacerlo es copiando byte a byte como tú dices. De todas formas puedes usar los métodos que leen arrays de bytes y escriben arrays de bytes. Es mas eficiente.
Otra opción es con Runtime.getRuntime().exec ("cp fichero1 fichero2"), usando el copy del sistema. La pega de esto es que deja de ser java reutilizable, porque el comando cp de cada sistema operativo es distinto.
Se bueno.
La forma buena de hacerlo es copiando byte a byte como tú dices. De todas formas puedes usar los métodos que leen arrays de bytes y escriben arrays de bytes. Es mas eficiente.
Otra opción es con Runtime.getRuntime().exec ("cp fichero1 fichero2"), usando el copy del sistema. La pega de esto es que deja de ser java reutilizable, porque el comando cp de cada sistema operativo es distinto.
Se bueno.
