Se puede utilizar un servlet con una etiqueta de formulario HTML para permitir que los usuarios carguen archivos en el servidor. Un archivo cargado puede ser un archivo de texto o un archivo de imagen o cualquier documento.
Crear un formulario de carga de archivos
El siguiente código HTM a continuación crea un formulario de carga. Los siguientes son los puntos importantes que se deben anotar:
La forma method el atributo debe establecerse en POST El método y el método GET no se pueden utilizar
La forma enctype el atributo debe establecerse en multipart/form-data.
La forma actionEl atributo debe establecerse en un archivo servlet que manejaría la carga de archivos en el servidor backend. El siguiente ejemplo está usandoUploadServlet servlet para cargar el archivo.
Para cargar un solo archivo, debe usar una sola etiqueta <input ... /> con atributo type = "file". Para permitir la carga de varios archivos, incluya más de una etiqueta de entrada con diferentes valores para el atributo de nombre. El navegador asocia un botón Examinar con cada uno de ellos.
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<h3>File Upload:</h3>
Select a file to upload: <br />
<form action = "UploadServlet" method = "post" enctype = "multipart/form-data">
<input type = "file" name = "file" size = "50" />
<br />
<input type = "submit" value = "Upload File" />
</form>
</body>
</html>
Esto mostrará el siguiente resultado que permitirá seleccionar un archivo desde la PC local y cuando el usuario haga clic en "Cargar archivo", el formulario se enviará junto con el archivo seleccionado.
File Upload:
Select a file to upload:
NOTE: This is just dummy form and would not work.
Servlet de backend de escritura
Lo siguiente es el servlet UploadServletque se encargaría de aceptar el archivo cargado y de almacenarlo en el directorio <Tomcat-installation-directory> / webapps / data. Este nombre de directorio también se puede agregar usando una configuración externa como uncontext-param elemento en web.xml de la siguiente manera:
<web-app>
....
<context-param>
<description>Location to store uploaded file</description>
<param-name>file-upload</param-name>
<param-value>
c:\apache-tomcat-5.5.29\webapps\data\
</param-value>
</context-param>
....
</web-app>
A continuación se muestra el código fuente de UploadServlet, que puede manejar la carga de varios archivos a la vez. Antes de continuar, debe asegurarse de lo siguiente:
Ahora intente cargar archivos utilizando el formulario HTML que creó anteriormente. Cuando intentara http: // localhost: 8080 / UploadFile.htm, mostraría el siguiente resultado que lo ayudaría a cargar cualquier archivo desde su máquina local.
File Upload:
Select a file to upload:
Si su script de servlet funciona bien, su archivo debe cargarse en el directorio c: \ apache-tomcat8.0.28 \ webapps \ data \.