package com.FitBank.web.servlet; import com.FitBank.common.Debug; import com.FitBank.web.util.ConstruirContenido; import com.FitBank.xml.Mensaje.MensajeXml; import org.apache.commons.fileupload.DiskFileUpload; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUpload; import java.util.Iterator; import java.util.List; /** * Servlet que realiza la lectura del archivo colocado en el path URL del * formulario de Upload del Sistema, cuando el archivo ha sido leĆ­do es enviado * al sistema para ser salvado. * * @author FitBank */ public class Upload extends BaseServlets { private static final int SIZE = 1024 * 1024; protected void inicializar() { aceptarGet(); aceptarPost(); obtenerWriter(); verificarSesion(); } protected void procesarPedido() { try { boolean isMultipart = FileUpload.isMultipartContent(pedido); if (isMultipart) { DiskFileUpload upload = new DiskFileUpload(); upload.setSizeThreshold(SIZE); List items = upload.parseRequest(pedido); Iterator itr = items.iterator(); while (itr.hasNext()) { FileItem item = (FileItem) itr.next(); if (!item.isFormField()) { byte[] formXml = item.get(); String nombre = item.getName(); String extension = nombre.substring(nombre.lastIndexOf(".")); nombre = nombre.substring(nombre.lastIndexOf("\\") + 1, nombre.lastIndexOf(".")); if (extension.equalsIgnoreCase(".wpx")) { evento.procesoXml.getXmlMensaje().setValor("TIPOFORMATO", "com.fitbank.webpages.WebPage", MensajeXml.SEC_DET); } else { evento.procesoXml.getXmlMensaje().setValor("TIPOFORMATO", "com.FitBank.xml.Formas.Formulario", MensajeXml.SEC_DET); } evento.cargarFormulario(pedido, formXml, nombre); String codigo = evento.procesoXml.getXmlMensaje() .getValor("COD", MensajeXml.SEC_RES); if (codigo.equalsIgnoreCase("0")) { writer.print(ConstruirContenido.uploadForm()); } else { writer.print(ConstruirContenido.failedUploadForm()); } } } } } catch (Exception e) { Debug.imprimirError(e); writer.print(""); } } }