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

subir fichero

Estas en el tema de subir fichero en el foro de Java en Foros del Web. Hola, tengo un formulario que pretende subir una imagen. la jsp que hace el action del formulario recibe la imagen pero no me escribe la ...
  #1 (permalink)  
Antiguo 30/11/2004, 02:32
 
Fecha de Ingreso: julio-2003
Mensajes: 58
Antigüedad: 20 años, 9 meses
Puntos: 0
subir fichero

Hola,
tengo un formulario que pretende subir una imagen. la jsp que hace el action del formulario recibe la imagen pero no me escribe la imagen en la carpeta donde se le dice, siempre me coge la unidad C: de mi maquina local, pero yo quiero que me escriba la imagen en el servidor que es un servidor linux.

el codigo que uso es:

DiskFileUpload fu = new DiskFileUpload();
List fileItems = fu.parseRequest(request);
// maximo numero de bytes
fu.setSizeMax(1024*512); // 512 K

// tamaño por encima del cual los ficheros son escritos directamente en disco
fu.setSizeThreshold(4096);

// directorio en el que se escribirán los ficheros con tamaño superior al soportado en memoria
fu.setRepositoryPath("/tmp");




if(fileItems == null){
out.println("La lista es nula");
}else{
out.println("El número de ficheros subidos es: " + fileItems.size());

Iterator i = fileItems.iterator();
FileItem actual = null;

while (i.hasNext())
{
actual = (FileItem)i.next();
String fileName = actual.getName();
out.println("<br>Nos han subido el fichero" + fileName);

// construimos un objeto file para recuperar el trayecto completo
File fichero = new File(fileName);
out.println("El nombre del fichero es " + fichero.getName());

// nos quedamos solo con el nombre y descartamos el path
fichero = new File(fichero.getName());
out.println("El fichero se ha subido: " + fichero.getName());

// escribimos el fichero colgando del nuevo path
out.println("CONTENIDO: " + actual.getContentType());
out.println("FICHERO: " + fichero.getAbsolutePath());
actual.write(fichero);
out.println("El fichero se ha escrito en disco: " + fichero.getName());
}
}


Alguien sabe que pasa.?

gracias a todos.
  #2 (permalink)  
Antiguo 01/12/2004, 09:14
 
Fecha de Ingreso: marzo-2002
Mensajes: 449
Antigüedad: 22 años, 1 mes
Puntos: 0
Bueno yo tengo un ejemplo muy parecido al tuyo nomas que en la linea que tu tienes como:

fichero = new File(fichero.getName()); //yo tengo
fichero = new File("/tmp/" + fichero.getName());

que es donde se indica cual va ser el path donde se escriba tu archivo, me imagino que es posible que al no poner el path completo lo este tomando como que lo quieres en la unidad raiz , que en tu caso es la "C:" .

Por otra parte yo tenia un errror que consistia en que el archivo se copiaba efectivamente en "C:" hiciera lo que yo hiciera, y no solo eso sino que el archivo siempre era un archivo vacio. Te dire que ese problema yo lo resolvi cambiando el archivo que habia bajado de la pagina de apache por otro ubicado en :

http://www.apache.org/dist/jakarta/commons/fileupload/

tomando la version commons-fileupload-current.zip

No se si ese sea tu problema pero en fin espero haber sido de ayuda.
  #3 (permalink)  
Antiguo 02/12/2004, 02:40
 
Fecha de Ingreso: julio-2003
Mensajes: 58
Antigüedad: 20 años, 9 meses
Puntos: 0
gracias aa todos, si en efecto el problema era el path.
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 05:49.