FTP fichero a servidor

alozano
13 de Febrero del 2004
hola a todos,

Tengo un formulario hecho en jsp y uno de los campos es tipo file. Al darle enviar hago un post a otro jsp pasándole todos los parámetros y desde ese nuevo jsp llamo a una clase pasandóle como parámetro un request. (Quisiera copiar un fichero al servidor)

Y esta es mi clase:

public String valuesParameter(HttpServletRequest request) throws Exception,
FileNotFoundException {



String values= request.getParameter("fichero");
System.out.println("fichero" + paths);
String nombre = request.getParameter("nombre");
String apellido = request.getParameter("apellido");
String apellido2 = request.getParameter("apellido2");
String dni = request.getParameter("dni");

FTPClient ftp = new FTPClient();
System.out.println("1" + values);
server = "100.100.100.100";
ftp.connect(server, 21);
ftp.user("tomcat");
ftp.pass("tomcat");

//values contiene por ejemplo D:/proyecto/conexion.doc (que es la ruta del fichero que quiero subir al servidor)

System.out.println("antes de datasource" + values);
File f= new File(values);
FileDataSource source = new FileDataSource(f);
System.out.println("ftp1." + source);
//messageBodyPart.setDataHandler(new DataHandler(source));

//source.getInputStream();
System.out.println("ftp2." + values);
InputStream input;
System.out.println("ftp3." + values);


------------------Aquí es cuando me da un error:
(linea 157) input = source.getInputStream();
System.out.println("ftp4." + values);
//me
ftp.storeFile(valuesName, input);


Error:
java.io.FileNotFoundException: D:/proyecto/conexion.doc (No such file or dire
ctory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at javax.activation.FileDataSource.getInputStream(FileDataSource.java:80
)
at ine.solicitudok.valuesParameter(solicitudok.java:157)
at org.apache.jsp.solicitarok_jsp._jspService(solicitarok_jsp.java:54)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

La verdad no se porque no me captura el fichero. Se que la aplicación está intentando buscar esa ruta en el servidor en vez de en la máquina local. ¿Alguna idea?
Agradecería vuestra ayuda,

Un saludo,

Ana.

javiair
13 de Febrero del 2004
Utiliza la libreria cos.jar

puedes obtener el fichero con miltipartRequest.

Un saludo.