Daniel Prado Rodríguez - Página Personal - Presentación
Daniel Prado Rodríguez Visita: Sacarse el carnet de conducir por libre DGT
  Viernes, 13 de Diciembre de 2024 Inicio | Contactar
Añadir a favoritos | Imprimir 
 
» Bienvenidos a mi página web

Daniel Prado Rodríguez En primer lugar quisiera presentarme, mi nombre es Daniel Prado Rodríguez y vivo en Lugo de Llanera (Asturias - España).

Actualmente trabajo en Sermicro, como progamador Senior para el proyecto del portal del principado de Asturias. Los motivos que me han llevado a realizar está página son en primer lugar la de ofrecer mi Curriculum Vitae siempre actualizado y un medio para contactar conmigo. No obstante también tendrán cabida otros contenidos como recursos paraa programadores o información sobre mi tierra natal.

No obstante no deja de asombrarme este medio, que permite que tú, que has llegado aquí posiblemente por azar, quizá solo con la intención de curiosear, me conozcas un poco mejor. Así que, si algo te interesa, si quieres preguntar o comentar algo, no dudes en contactar conmigo. Mi dirección de correo y el libro de visitas de esta web están a tu entera disposición.


» Viajes Destacados

Viaje a Roma

Visitar Londres

Guía de Nueva York

Visitar la Riviera Maya

Visitar Túnez

Viaje a Tenerife

Viaje a Benidorm

Visitar Florencia

Guía de Milán

Guía de Boston

Visitar Washington DC

Viajar a Philadelphia


» Programacion » Java » Subir archivos (Upload) con el Framework Struts Ver
12 de Diciembre de 2005 (admin)

Se realiza con un Struct normal, pero con ciertas características que deberá tener el formulario (Página jsp), el ActionForm y el Action.

Veamos un ejemplo básico (en cursiva lo importate):

El archivo.jsp (formulario)

<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html>
<head>
<title>Nueva Instalacion Deportiva</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META name="GENERATOR" content="IBM WebSphere Studio">
</head>
<body>
<p class="Titulo" align="center">Subir/Cambiar </p>
<CENTER>
<TABLE  class="CampoFormulario" width="450" height="304" border="0" cellpadding="4" cellspacing="4">
<html:form  enctype="multipart/form-data" action="/UploadFotoPath">

   <tr valign="top"><td height="4"> <FONT color="#FF0000"><html:errors/></FONT></td></tr>
   <tr valign="top"><td align="center" height="4">

  <table width="60%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr class="CampoFormulario">
      <td><div align="center">Imagen&nbsp;&nbsp;</div></td>
      <td><div align="center">
          <html:file property="theFile" />
        </div></td>
    </tr>

    <tr class="CampoFormulario" align="center">
      <td colspan="2"> <html:submit value="Subir"/>  
      </td>
    </tr>
  </table>
   </td></tr>
</html:form>
</TABLE>
</CENTER>
<p>&nbsp; </p>
</body>
</html:html>

El UploadForm.java (ActionForm)

package com.ti.rid.web.instalacionDeportiva.Struts;

import org.apache.struts.upload.FormFile;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionError;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionMapping;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class UploadFotoForm extends ActionForm {

/**

* El archivo que el usuario quiere subir

*/

protected FormFile theFile;

/**

* El identificador de la instalación deportiva

*/

protected String ID_INSTALACION;

/**

* Recupera la representacion del fichero que el usuario sube

*/

public FormFile getTheFile() {

return theFile;

}

/**

* Introduce la representacion del fichero que el usuario sube

*/

public void setTheFile(FormFile theFile) {

this .theFile = theFile;

}

/**

* Recupera el identificador de la instalacion

*/

public String getId_instalacion() {

return ID_INSTALACION;

}

/**

* Introduce el identificador de la instalación

*/

public void setId_instalacion(String aString) {

this .ID_INSTALACION = aString;

}

/*

* Comprueba que el archivo cumple los parámetros que pedimos de tamaño y extensión

*/

public ActionErrors validate( ActionMapping mapping, HttpServletRequest request) {

ActionErrors errors = new ActionErrors();

//Controlamos el tamaño del archivo

if (!((theFile.getFileSize() != 0) && (theFile.getFileSize() < utils.constantes.ConstantesRID.MAX_SIZE)))

{

errors.add( "error.tamanio" , new ActionError( "error.tamanio" ));

}

//Recuperamos el tipo de archivo

if (!theFile.getContentType().equalsIgnoreCase(utils.constantes.ConstantesRID.FILE_TYPE))

{

errors.add( "error.email" , new ActionError( "error.email" ));

}

return errors;

} //validate

} //class UploadFotoForm

El UploadAction.java (Action)

package com.ti.rid.web.instalacionDeportiva.Struts;

import java.io.InputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.io.FileOutputStream;

import java.io.ByteArrayOutputStream;

import java.io.FileNotFoundException;

import java.io.File;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.upload.FormFile;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ForwardingActionForward;

//import com.ti.rid.types.*;

import com.ti.rid.proc.*;

public class UploadFotoAction extends Action {

public ActionForward perform(ActionMapping mapping, ActionForm form, HttpServletRequest request,

HttpServletResponse response) {

if (form instanceof UploadFotoForm) {

UploadFotoForm theForm = (UploadFotoForm) form;

String fileNewName = theForm.getId_instalacion()+ ".jpg" ; //El nombre con el que queremos guardar el archivo

FormFile file = theForm.getTheFile(); //Recuperamos la representación del archivo

//ubicación y nombre del archivo a guardar

String path = utils.constantes.ConstantesRID.FILE_PATH+fileNewName;

//Controlamos las condiciones para subirlo

try {

// se comprueba que la ruta exista

File f = new File(path);

if (makeSureDirectoryExists(parent(f))) {

// Se graba en la ruta la foto;

FileOutputStream out = new FileOutputStream(f);

out.write(file.getFileData());

out.flush();

out.close();

//indicamos que la intalación tiene ya foto asociada

PInstalacionesDeportivas myPIDeportivas = new PInstalacionesDeportivas();

myPIDeportivas.setFoto( new Integer(theForm.getId_instalacion()), true );

} //if

} //try

catch (Exception ex) {

System.out.println ( "Lanzada excepcion en UploadFotoAction:" +ex);

return null ;

}

//Destruimos el archivo temporal

file.destroy();

System.out.print( "Subido el archivo deportiva" );

//Retornamos y continuamos en

return mapping.findForward( "alta_ok" );

} //if

//Nunca sucederá en este ejemplo

return null ;

} //perform

/**

* Devuelve la ruta padre del subdirectorio actual

* @param File --> El archivo del cual se quiere sacar su directorio o directorio padre

* @return File --> Crea un archivo con la ruta del directorio padre

*/

private File parent(File f) {

String dirname = f.getParent();

if (dirname == null ) {

return new File(File.separator);

}

return new File(dirname);

}

/**

* Crear un subdirectorio si este no existe

* @param dir --> El path del archivo (dirección + nombre)

* @return True -> Existe o se ha creado False --> No existe y no se ha podido crear

*/

private boolean makeSureDirectoryExists(File dir) {

if (!dir.exists()) {

if (makeSureDirectoryExists(parent(dir)))

dir.mkdir();

else

return false ;

}

return true ;

}

}

/**

* Devuelve la ruta padre del subdirectorio actual

* @param File --> El archivo del cual se quiere sacar su directorio o directorio padre

* @return File --> Crea un archivo con la ruta del directorio padre

*/

private File parent(File f) {

String dirname = f.getParent();

if (dirname == null ) {

return new File(File.separator);

}

return new File(dirname);

}

/**

* Crear un subdirectorio si este no existe

* @param dir --> El path del archivo (dirección + nombre)

* @return True -> Existe o se ha creado False --> No existe y no se ha podido crear */

private boolean makeSureDirectoryExists(File dir) {

if (!dir.exists()) {

if (makeSureDirectoryExists(parent(dir)))

dir.mkdir();

else

return false ;

}

return true ;

}

}


» Publicidad

  
» Programacion Ver
Lunes, 12 de Diciembre de 2005

Java

Subir archivos (Upload) con el Framework Struts


» Programacion Ver
Lunes, 12 de Diciembre de 2005

Java

Subir archivos (Upload) con el Framework Struts

Se muestra el código necesario para realizar una página web que permita la subida de archivos al servidor mediante el Framework Struts.
 
Mapa web |  Página principal  | Blog de Recetas | Recetas de Pescado | | Política de privacidad | Política de cookies
www.daniel.prado.name - Página Personal - © Copyright