JSP (Java Server Page) - Guardar archivo cargado

 
Vista:
Imágen de perfil de GERMAN DILAN

Guardar archivo cargado

Publicado por GERMAN DILAN (2 intervenciones) el 03/02/2020 10:44:24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>&iexcl;Objeto no localizado!</title>
<link rev="made" href="mailto:postmaster@localhost" />
<style type="text/css"><!--/*--><![CDATA[/*><!--*/
    body { color: #000000; background-color: #FFFFFF; }
    a:link { color: #0000CC; }
    p, address {margin-left: 3em;}
    span {font-size: smaller;}
/*]]>*/--></style>
</head>
 
<body>
<h1>&iexcl;Objeto no localizado!</h1>
<p>
 
 
    No se ha localizado la URL solicitada en este servidor.
 
 
 
    Si usted ha introducido la URL manualmente, por favor revise su
    ortograf&iacute;a e int&eacute;ntelo de nuevo.
 
 
 
</p>
<p>
Si usted cree que esto es un error del servidor, por favor comun&iacute;queselo al
<a href="mailto:postmaster@localhost">administrador
del portal</a>.
 
</p>
 
<h2>Error 404</h2>
<address>
  <a href="/">177.239.169.21</a><br />
  <span>Apache/2.4.26 (Win32) OpenSSL/1.0.2l PHP/5.6.31</span>
</address>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de joel
Val: 3
Ha mantenido su posición en JSP (Java Server Page) (en relación al último mes)
Gráfica de JSP (Java Server Page)

Guardar archivo cargado

Publicado por joel (1 intervención) el 03/02/2020 12:04:52
Hola German, no se entiende tu duda...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de GERMAN DILAN

Guardar archivo cargado

Publicado por GERMAN DILAN (2 intervenciones) el 04/02/2020 11:06:34
Estoy haciendo una página web y necesito cargar archivos (fotos) y guardarlos en una ruta relativa. Estoy haciendo pruebas y si pongo toda la ruta o los guardo en c: funciona perfectamente (puede que a alguien le sirva el siguiente código) pero yo necesito que me los guarde en la carpeta de imágenes donde está todo el proyecto (/img/fotos/) y así me da un error que dice que no encuentra la ruta especificada. Si alguien puede ayudarme se lo agradecería mucho.

Este es el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<head>
<title>Prueba</title>
</head>
 
<body>
<h1>Cargar fichero</h1>
 
<form action="http://localhost:8084/ProyectoGuarderia/servletCargarFichero" enctype="multipart/form-data" method="post">
 
Fichero: <input type="file" name="fichero" size="70" accept="text/plain;image/jpeg">
<br /><br />
<input type="submit" name="enviar" value="Enviar">
</form>
</body>
</html>



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package packGuarderia;
 
import java.io.*;
import java.net.*;
 
import javax.servlet.*;
import javax.servlet.http.*;
 
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.io.FilenameUtils;
import java.util.*;
import java.io.File;
import java.lang.Exception;
 
public class servletCargarFichero extends HttpServlet {
 
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out=response.getWriter();
response.setContentType("application/vnd.wap.xhtml+xml");
response.setContentType("text/html");
 
out.println("<html>");
out.println("<head>");
out.println("<title>Prueba</title>");
out.println("</head>");
 
out.println("<body>");
out.println("<h1>Datos recibidos en el servidor</h1>");
out.println("<hr/>");
out.println("<p>");
 
/* Miramos si la petición HTTP está codificada en formato multiparte.
Esto es para que lea los parametros y el fichero a la vez. */
try{
if (ServletFileUpload.isMultipartContent(request)){
ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
 
/* Al ser multiparte, con servletFileUpload.parseRequest(request) recibimos una lista de FileItem. */
List fileItemsList = servletFileUpload.parseRequest(request);
 
String optionalFileName = "";
 
/* FileItem es un campo simple, del tipo nombre-valor*/
FileItem fileItem = null;
 
Iterator it = fileItemsList.iterator();
String fieldName=null;
String value=null;
while (it.hasNext()){
FileItem fileItemTemp = (FileItem)it.next();
if (fileItemTemp.isFormField()){
fieldName=fileItemTemp.getFieldName();
value=fileItemTemp.getString();
 
if (fileItemTemp.getFieldName().equals("filename"))
optionalFileName = fileItemTemp.getString();
}
else
fileItem = fileItemTemp;
}
 
if (fileItem!=null){
// Nombre del archivo a cargar
String fileName = fileItem.getName();
 
out.println("<b>Info del fichero cargado:</b><br/>");
 
/*Nos dice el tipo de fichero. Ej.: .jpg (image/jpge), .txt (text/plain) ...)*/
 
out.println("Tipo de fichero: "+fileItem.getContentType()+"<br/>");
out.println("Nombre del campo: "+fileItem.getFieldName()+"<br/>");
out.println("Nombre del fichero: "+fileName+"<br/>");
out.println("Tamaño del fichero: "+fileItem.getSize()+"<br/><br/>");
 
/* Guardar el fichero cargado si su tamaño es mayor que 0. */
if (fileItem.getSize() > 0){
if (optionalFileName.trim().equals(""))
fileName = FilenameUtils.getName(fileName);
else
fileName = optionalFileName;
 
String dirName = "/img/fotos/";
 
File saveTo = new File(dirName + fileName);
 
out.println("GUARDADO EN: <b>"+saveTo+"</b>");
try {
fileItem.write(saveTo);
 
out.println("<b>El fichero cargado se ha guardado correctamente.</b>");
 
} //try
catch (Exception e){
out.println("<br/>"+e.getMessage()+"<br/><br/>");
out.println("<b>Ha ocurrido un error cuando intentábamos guardar el fichero cargado.</b>");
}
} // if
} // if
} // while
} //try
catch(Exception e)
{
}
out.println("</p>");
out.println("</body>");
out.println("</html>");
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar