subir ficheros (AYUDA POR DIOS)

pkc1975
10 de Octubre del 2003
ESTOY YA DESESPERADO
Tengo este servlet que utiliza la clase fileupload para subir ficheros al servidor pero.....cuando en la variable
ruta_servidor le pongo lo que hay da un error en el cual dice "(El sistema no puede hallar la ruta especificada)" .
¿COMO SE PONE LA RUTA DEL SERVIDOR DONDE ESTE LA CARPETA DESTINO????
¿¿¿¿ALGUIEN HA UTLIZADO ESTO ALGUNA VEZ????

import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

import org.apache.commons.fileupload.*;
import java.util.*;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
/**
*
*
*/
public class uploadFichero extends HttpServlet {

//String ruta_servidor = "d:\ficherossubidos\";
String ruta_servidor = "\10.1.40.197\converter\"
String ruta_fallidos = "d:\temp\";

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet</title>");
out.println("</head>");
out.println("<body>");

System.out.println("Comenzamos procesamiento ficheros");

procesaFicheros(request,out);

out.println("</body>");
out.println("</html>");

out.close();
}


void depura(String cadena)
{
System.out.println("El error es " + cadena);
}

public boolean procesaFicheros(HttpServletRequest req, PrintWriter out ) {
try {
System.out.println("dentroooooo");
// construimos el objeto que es capaz de parsear la perición
DiskFileUpload fu = new DiskFileUpload();

System.out.println("dentroooooo2");
// maximo numero de bytes
fu.setSizeMax(1024*512); // 512 K

depura("Ponemos el tamaño máximo");
// tamaño por encima del cual los ficheros son escritos directamente en disco
fu.setSizeThreshold(4096);
depura("3");
// directorio en el que se escribirán los ficheros con tamaño superior al soportado en memoria

//
fu.setRepositoryPath(ruta_fallidos);

// ordenamos procesar los ficheros
List fileItems = fu.parseRequest(req);

if(fileItems == null)
{
depura("La lista es nula");
return false;
}

out.print("<br>El número de ficheros subidos es: " + fileItems.size());

// Iteramos por cada fichero
Iterator i = fileItems.iterator();
FileItem actual = null;
depura("estamos en la iteración");

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);
depura("El nombre del fichero es " + fichero.getName());

// nos quedamos solo con el nombre y descartamos el path
//fichero = new File(ruta_servidor + fichero.getName());
//fichero = new File((File) this.getServletContext().getAttribute("\10.1.40.197\converter\")+ fichero.getName());
System.out.println("parametro ruta="+req.getParameter("ruta"));
fichero = new File(ruta_servidor+ fichero.getName());

// escribimos el fichero colgando del nuevo path
actual.write(fichero);
}

}
catch(Exception e) {

System.out.println("Errooooor de Aplicación " + e.getMessage());
return false;
}

return true;
}

/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}

malone
10 de Octubre del 2003
Saludos.

Yo implemente algo parecido lo que te puedo comentar que lo implemente para qin y para linux
y lo que me di cuenta es que en win queria poner la ruta algo asi c:ruta, pero me di cuenta como es un servidor hay que poner las rutas como en unix, osea como /ruta y me funciono.

pkc
10 de Octubre del 2003
ok ,kojonudo eso me ha funcionado,gracias

jamecaes
10 de Octubre del 2003
Dependiendo de la version de java, tal vez no puedas acceder a recursos de red, necesita estar local en la maquina!!!!!

Cuando trabajaste con el "d:\ficherossubidos no te funciono????

pkc
10 de Octubre del 2003
Si ,en local no habia problema.