Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   servlet de upload de imagen (http://www.forosdelweb.com/f45/servlet-upload-imagen-575814/)

ferminciilo 14/04/2008 09:44

servlet de upload de imagen
 
Hola.

Tengo un servlet para el upload de una imagen para un aplicación web sobre tomcat 5.5. La aplicación sube bien el fichero, pero no donde yo deseo.Me explico.

Yo quiero que me suba el fichero a /WEB-INF/comunes/gfx; pero al directorio de trabajo donde tengo el código (D:\eclipsej2ee\Struts1\WebContent\WEB-INF\comunes\gfx), pero siempre me lo sube a D:\eclipseJ2EE\.metadata\.plugins\org.eclipse.wst. server.core\tmp1\Struts1\WEB-INF\comunes\gfx

No sé que hacer.

Parte del código que tengo es este:

try {
InputStream stream = myFile.getInputStream();
String directorio = request.getServletPath();
ServletConfig scfg = servlet.getServletConfig();
ServletContext sctx = scfg.getServletContext();
String dir2 = sctx.getRealPath("/WEB-INF/comunes/gfx");
OutputStream bos = new FileOutputStream(dir2 +"/"+ fileName);
int temp = 0;
byte[] buffer = new byte[8192];
while ((temp = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, temp);
}
bos.close();
data = "el archivo se ha subido";
stream.close();
} catch (FileNotFoundException fnfe) {
System.out.println("Fallo al subir archivo!!!");
fnfe.printStackTrace();
}



No sé que tengo que hacer, por cierto trabajo en Eclipse. Si como directorio pongo C:\ va de perlas.

Toda ayuda será bienvenida

Gracias.

vgonga1986 22/04/2008 02:37

Re: servlet de upload de imagen
 
No sé si lo habrás solucionado ya, pero yo probaría con lo siguiente:

String root = getServletContext().getRealPath("/");
String filePath = root + "WEB-INF\\comunes\\gfx\\";
OutputStream bos = new FileOutputStream(root + fileName);

Creo que el error que tienes es que mezclas direcciones de la aplicación con direcciones físicas reales y por eso no te lo crea dónde quieres. En la aplicación no existe la ruta "/WEB-INF/comunes/gfx", ya que la carpeta WEB-INF es totalmente invisible si accedemos desde localhost. Así que para tema de archivos tienes que tratar con ruta física.

Espero que te sirva y que no llegue tarde, hasta pronto.


La zona horaria es GMT -6. Ahora son las 02:19.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.