Foros del Web » Programación para mayores de 30 ;) » Java »

donde guardar archivo

Estas en el tema de donde guardar archivo en el foro de Java en Foros del Web. Buenas foreros! Os cuento, he creado una pequeña aplicacion web que genera un archivo PDF con una serie de datos y lo guarda automaticamente en ...
  #1 (permalink)  
Antiguo 19/08/2011, 21:28
 
Fecha de Ingreso: junio-2011
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
donde guardar archivo

Buenas foreros!

Os cuento, he creado una pequeña aplicacion web que genera un archivo PDF con una serie de datos y lo guarda automaticamente en el ordenador. El problema es que no se donde es mas recomendado guardar ese archivo, logicamente cada PC tiene una configuracion de carpetas distintas.

Mis ideas son:

1. Guardar ese archivo en C: (ya que todos los PC tienen esta unidad)
2. Pedir desde la aplicacion al usuario una ruta donde guardar y guardar siempre ahi.
3. Por defecto establecer yo una ruta, x ejemplo C:\imprimir y decirle al usuario que me cree esa carpeta en la ruta que yo le diga.
4. Crear yo las carpetas que quiero en la ruta que quiera, este paso no se como hacerlo desde Java.
5. Almacenar los archivos en una subcarpeta del servidor Tomcat donde tengo la aplicacion desplegada.

Cual os parece mas apropiada?
  #2 (permalink)  
Antiguo 20/08/2011, 00:05
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 meses
Puntos: 12
Respuesta: donde guardar archivo

me convence la segunda opción, pues yo por ejemplo utilizo Fedora que es una distribución de linux y no tiene la unidad C: eso es solo de un SO que sea windows, y al igual que yo, hay otras personas que pueden utilizar ubuntu, opensuse, etc... un sin fin de SO que ni te imaginas...

y no puedes hacer lo que quieras en el PC del cliente,p pueden haber limitantes, no puedes andar creando carpetas ni nada de eso, ni siquiera creo que se pueda asegurar eso en los inseguros SO de Microsoft.

saludos...
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-
  #3 (permalink)  
Antiguo 20/08/2011, 01:12
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: donde guardar archivo

Hola:

Efectivamente, lo mejor es preguntar al usuario dónde lo quiere, siempre que sea algún fichero de datos útiles para el usuario (por ejemplo, word te pregunta dónde quieres salvar tus documentos o con qué nombre).

Si el fichero son datos propios del programa, hay dos opciones que son habituales.

Una es guardarlos directamente en el directorio donde está tu programa, habitualmente lo puedes obtener con System.getProperty("user.dir"), válido para cualquier sistema operativo.

La otra opción, sobre todo si el programa se instala para que lo puedan usar varios usuarios del PC y cada uno debe tener su propio fichero, es hacerlo en el HOME del usuario, que se puede obtener con System.getProperty("user.home")

Se bueno
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 20/08/2011, 06:57
 
Fecha de Ingreso: junio-2011
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: donde guardar archivo

muchas grax por contestar.

Creo que a mi la que mas me convence es preguntar al usuario una ruta y almacenarla en la base de datos para no tener q preguntarsela continuamente, en una opcion de configuracion o algo asi

La cosa ahora es como hago para que el usuario seleccione la ruta donde guardar el archivo usando Struts2, de tal manera que yo reciba una cadena String y la almacene en la BBDD.

Sé que existe el Tag FILE, x ejemplo:

<s:form enctype="multipart/form-data" method="POST" action="Accion">
<s:file label="Archivo a enviar" name="archivoTexto"
accept="text/txt" />
<s:submit value="Enviar" />
</s:form>

Pero lo he probado y no me deja seleccionar una carpeta, es la tipica ventana de abrir archivo, no me deja seleccionar una carpeta
  #5 (permalink)  
Antiguo 20/08/2011, 13:20
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: donde guardar archivo

No han quedado claras algunas cosas, ¿vas a conectarte desde distintos equipos a un servidor, o vas a poner en cada equipo su propio servidor?

En el caso de que solo sea un servidor, ¿pretendes que el fichero se grabe en el servidor o en el cliente?
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #6 (permalink)  
Antiguo 20/08/2011, 22:23
 
Fecha de Ingreso: junio-2011
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: donde guardar archivo

La aplicacion se instala en un unico servidor, y tendran acceso varios PC, es casi improbable pero puede tener acceso tb algun mac.

El fichero quiero que se guarde en el cliente, es decir, en el PC que solicita ese archivo PDF.
  #7 (permalink)  
Antiguo 21/08/2011, 01:42
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: donde guardar archivo

Hola:

Si es una aplicación web cambia las cosas.

Desde tu aplicación web no puedes guardar un fichero en el PC del cliente. Si el fichero lo vas a guardar en el servidor, no tiene sentido pedirle al cliente dónde guardarlo, ya que tu cliente no tiene por qué saber cual es la estructura de directorios del servidor ni el sitio para guardarlo.

Si tu aplicación es web, lo normal es que tu aplicación, a partir del nombre de usuario y password, guarde los datos que necesite en el servidor (y no en el cliente) donde mejor le venga a tu aplicación. Lo normal suele ser guardar todos esos datos en la base de datos, y no en un fichero.

Si estás empeñado en que tu servidor guarde el fichero en el PC del cliente, necesitarás un Applet de java firmado o quizás con javascript (no sé si se puede). Pero piensa también que posiblemente ese fichero te sea imposible leerlo desde tu aplicación web posteriormente, salvo que nuevamente uses otro applet firmado o javascript (si se puede, que no lo sé).

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #8 (permalink)  
Antiguo 21/08/2011, 08:29
 
Fecha de Ingreso: junio-2011
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: donde guardar archivo

Hola Chuidiang,

Basicamente lo que hace la aplicacion Web es generar una factura en pdf, mi aplicacion una vez creado el pdf con iText lo abre y se lo muestra al cliente.


En ese momento, el cliente puede guardar la factura PDF en su PC utilizando las opciones de Adobe Reader o del lector de PDF que utilice.

Yo lo que buscaba es que ese fichero se guardase directamente en su PC, evitando el paso anterior y posibles olvidos de guardado pero creo que va a ser q no. Pondré un mensaje de alerta recordandole al cliente que si quiere guardarlo lo debe de hacer en ese momento.
  #9 (permalink)  
Antiguo 21/08/2011, 08:54
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: donde guardar archivo

Si tu usuario se registra puedes crear un registro en la base de datos con el ID del usuario y con la ruta del archivo para que en caso de que no haya podido imprimirlo la 1era vez, lo pueda hacer luego.
  #10 (permalink)  
Antiguo 22/08/2011, 01:51
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: donde guardar archivo

Hola:

Para ese caso lo que se suele hacer es generar el pdf en el servidor y ponerle/mostrarle al usuario un enlace en la página web, de forma que el usuario usando las opciones del navegador puede "descargar" el pdf en la ubicación que quiera o si lo visualiza el navegador, darle usando los menús del navegador la opción "salvar como".

Utilizando un poco de javascript puedes avisar al usuario de que se ha olvidado de guardar el pdf si intenta abandonar la página sin guardarlo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:24.