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

Problema crear carpetas y archivos

Estas en el tema de Problema crear carpetas y archivos en el foro de Java en Foros del Web. Hola!!! Veamos a ver si me consigo explicar... tengo una aplicación web implementada con Netbeans y Spring MVC, basicamente es un portal de Noticias donde ...
  #1 (permalink)  
Antiguo 27/02/2013, 07:24
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Problema crear carpetas y archivos

Hola!!!

Veamos a ver si me consigo explicar... tengo una aplicación web implementada con Netbeans y Spring MVC, basicamente es un portal de Noticias donde se permiten ver documentos pdf y fotos

Hasta ahora tenia creado un apartado para crear Noticias (subir titulo, resumen, foto y pdf) y me funcionaba perfectamente.. tengo una carpeta imagenes donde almaceno las imagenes y una carpeta pdfs donde almaceno los pdfs y todo se guardaba correctamente

Sin embargo ahora queria cambiarlo y dar la opcion de subir varias imagenes y pense la mejor manera sera, crear una carpeta para cada Noticia y dentro una carpeta de imagenes y otra de pdfs, perfecto así lo he hecho.

Pero aquí esta el problema, para mi sorpresa cuando creo la Noticia desde la web... no puedo ver ni la imagen ni el pdf hasta que vuelvo a compilar la aplicación desde el Netbeans que entonces si me lo muestra.

He estado mirando y antes cuando creaba la Noticia y se me guardaba la foto en la carpeta imagenes, en la carpeta Build (que supongo que es el resultado de compilar la aplicación) se me creaba otra imagen igual.
Sin embargo ahora no pasa eso, para que las carpetas e imagenes me aparezcan en la carpeta Build debo compilar la aplicación web de nuevo.

No se si me he explicado con claridad, ¿alguna idea de porqué pasa esto?¿Alguna solución?
  #2 (permalink)  
Antiguo 01/03/2013, 11:09
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Respuesta: Problema crear carpetas y archivos

Buenas otra vez,

voy a replantear mi pregunta de nuevo a ver si alguien me contesta porque la verdad nose como salir de esta :S

Al crear carpetas mediante código java, y crear archivos dentro tambien mediante código java, las carpetas y archivos no se me cargan hasta que vuelvo a ejecutar la aplicación.

Sin embargo si solo creo archivos si se me cargan.

A que se puede deber esto?

Saludos!
  #3 (permalink)  
Antiguo 02/03/2013, 01:24
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Problema crear carpetas y archivos

Hola:

Por lo que entiendo estás creando ficheros y carpetas en algún directorio específico que netbeans, cuando compila o sobre la marcha, copia en Build y es ahí donde estás leyendo con tu tomcat para poder descargar esas imágenes y tal. La pregunta es ¿Vas a usar esa aplicación siempre, siempre con netbeans?. Si no es así, quizás debas replantearte dónde construyes esas carpetas e imagenes, ya que en tu despliegue real no estará netbeans para copiar a la carpeta Build.

En una aplicación real, hay tres posibles sitios donde poner los datos que suben los usuarios:
- Dentro de una base de datos
- Obtener el path donde está desplegado tu aplicación y ponerlos en algún directorio por debajo (data o images por ejemplo). La "pega" de esta opción es que si redespliegas tu aplicación, pierdes los datos.
- Usar un path absoluto, por supuesto, configurable de alguna forma. Al no estar este directorio accesible desde un navegador web a través de tomcat, para las descargas te obliga a hacer un pequeño Servlet que lea el fichero y lo reenvíe al navegador. Sería similar a lo que tendrías que hacer si guardas en base de datos, pero leyendo de ficheros en path absoluto

Se bueno
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 03/03/2013, 12:06
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Respuesta: Problema crear carpetas y archivos

El problema es que si intento acceder a una imagen que no este situada dentro de la carpeta del proyecto, el navegador no me la muestra, mirando por el foro me surge el mismo problema que a este usuario:

http://www.forosdelweb.com/f4/proble...tbeans-865432/

Por lo tanto eso no me permite hacer la 3º opcion que me planteas... o si?
La 2º opcion la descarto porque si cuando redespliegue la aplicación me desaparecen los datos no tiene sentido.
Y almacenar en una base de datos, no me convence del todo.

Mi idea es permitir a los usuarios de la web crear un archivo y con ese archivo que vayan asociadas varias imagenes y un fichero .pdf, cual sería la forma correcta de hacerlo.
  #5 (permalink)  
Antiguo 03/03/2013, 12:55
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Problema crear carpetas y archivos

Por eso comento en la tercera opción que tienes que hacer un pequeño Servlet de descarga. Es un servlet que atienda a una url http://tudominio/tuaplicacion/donwload por ejemplo, al que le pasas como parámetro en el request algo que te permita identificar el fichero, estilo http://tudominio/tuaplicacion/donwload?idFichero=3434, el servlet lo lee del path absoluto donde esté y lo envía por el response. Hay muchos por internet hechos, no es difícil http://txos.blogspot.com.es/2007/01/...d-servlet.html

Incluso en la segunda opción, es conveniente hacerlo si no limitas las extensiones de los ficheros que se pueden subir. Si simplemente pones el fichero en un sitio de tu proyecto y lo haces accesible a través de una URL, alguien puede subir un fichero de extensión .jsp con código malicioso y hacer que se ejecute simplemente descargándolo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: carpetas, netbeans
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 06:06.