Tema: Java web
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/01/2015, 14:18
cgalvez2010
 
Fecha de Ingreso: agosto-2013
Mensajes: 9
Antigüedad: 11 años, 4 meses
Puntos: 0
Exclamación Java web

Hola amigos, tengo un problema con una aplicacion web en la que tengo un formulario y en algunos casos llevara una imagen subida por el usuario el problema que tengo es que se me agotaron las ideas para recuperar los datos los guardarlo en una DB, estaba probando con la libreria de Oreilly pero cuando utilizo la clase de MultipartRequest me guarda como deseo todo y recupero los datos facilmente el problema que tengo es que a la imagen que guarde no la puedo mandar a llamar ya que me sale como que no es un directorio valido

este es el formulario:
Código HTML:
Ver original
  1.             <form method="POST" enctype="multipart/form-data" action="/AdminPortal/ConsultasMovil">
  2.                 <table>
  3.                     <tr>
  4.                         <td> Seleccione o ingrese la opción donde ingresara el proceso: </td>
  5.                         <td>
  6.                             <input type="radio" value="select" name="habilitaOpcion" id="habilitaOpcion"
  7.                                   onchange="habilitarOpcion(this.value);" onclick="text.disabled=true" checked/>
  8.                             <select name="opcion" id="opcion">
  9.                                 <option value=null></option>
  10.                                 <%ResultSet rs = Selects.ProcesosConsulta();
  11.                                  while(rs.next())
  12.                                  {
  13.                                      if(rs.getString("opcion") != null || rs.getString("opcion") != "")
  14.                                      {
  15.                                          out.println("<option value=\""+rs.getString("opcion")+"\""+
  16.                                                      ">"+rs.getString("opcion")+"</option>");
  17.                                       }
  18.                                   }
  19.                                 %>
  20.                             </select>
  21.                         </td>
  22.                         <td>
  23.                             <input type="radio" value="text" name="habilitaOpcion" id="habilitaOpcion"
  24.                                   onchange="habilitarOpcion(this.value);" onclick="text.disabled=false"/>
  25.                             <input type="text" name="text" placeholder="Ejem()" size="30" disabled/>
  26.                         </td>
  27.                     </tr>
  28.                     <tr>
  29.                         <td> Seleccione o ingrese el nombre del proceso: </td>
  30.                         <td>
  31.                             <input type="radio" value="selectp" name="selectp" id="selectp" onclick="textp.disabled=true"
  32.                                   onchange="habilitarProceso(this.value);" checked>
  33.                             <select name="pselect" id="pselect">
  34.                                 <option value=null></option>
  35.                             </select>
  36.                         </td>
  37.                         <td>
  38.                             <input type="radio" value="textp" name="selectp" id="selectp" onclick="textp.disabled=false"
  39.                                   onchange="habilitarProceso(this.value);">
  40.                             <input type="text" name="textp" id="textp" placeholder="Ingrese el nombre del proceso"
  41.                                   size="30" disabled>
  42.                         </td>
  43.                     </tr>
  44.                     <tr>
  45.                         <td valign="top"> Ingrese el paso correspondiente del proceso: </td>
  46.                         <td valign="top">
  47.                             <select name="paso" id="paso">
  48.                                 <%String pasos = Selects.pasos();%>
  49.                                 <%out.println(pasos);%>
  50.                             </select>
  51.                         </td>
  52.                         <td>
  53.                             <textarea name="descpaso" placeholder="Ingrese el paso correspondiente del proceso"
  54.                                      maxlength="1500"></textarea>
  55.                         </td>
  56.                     </tr>
  57.                     <tr>
  58.                         <td> Seleccione imagen para adjuntar en paso: </td>
  59.                         <td colspan="2">
  60.                             <input type="checkbox" id="checkimg" onchange="checkImagen(this.checked);">
  61.                             <input type="file" name="imgpaso" id="imgpaso" disabled="disabled">
  62.                         </td>
  63.                     </tr>
  64.                     <tr>
  65.                         <td>
  66.                             Agregar <input type="radio" value="agregar" name="AgregarModificar">
  67.                             &nbsp; &nbsp; &nbsp; &nbsp;
  68.                             Modificar <input type="radio" value="modificar" name="AgregarModificar">
  69.                         </td>
  70.                         <td></td>
  71.                     </tr>
  72.                     <tr>
  73.                         <td></td>
  74.                     </tr>
  75.                     <tr>
  76.                         <td></td>
  77.                     </tr>
  78.                     <tr>
  79.                         <td> <input type="submit" name="enviar" value="Aceptar"> </td>
  80.                     </tr>
  81.                     <tr>
  82.                         <td> <a href="/AdminPortal/CargaMovil/ConsultaMovil.jsp"> refrescar </a> </td>
  83.                     </tr>
  84.                 </table>
  85.             </form>
  86.         </div>
  87.     </body>
  88. </html>

esto lo recojo en un servlet estaba realizando pruebas con el MultipartParser:
Código Java:
Ver original
  1. try
  2.         {
  3.             String menu = Menu.MenuPrincipal();
  4.            
  5.             MultipartParser mp = new MultipartParser(request, 5*1024*1024);
  6.             Part part;
  7.             String item = "MOVIL";
  8.             String menu2 = "CONSULTAS";
  9.             String NombreProceso, paso, DescripcionPaso, imagen, destino, llamado, name, directorio, NombreImagen,
  10.                    RadioOpcion, RadioProceso, opcion=null;
  11.            
  12.             while((part = mp.readNextPart()) != null)
  13.             {
  14.                 if(part.isParam())
  15.                 {
  16.                     name = part.getName();
  17.                     if(name.equals("AgregarModificar"))
  18.                     {
  19.                         ParamPart pp = (ParamPart) part;
  20.                         String AgregarModificar = pp.getStringValue();
  21.                         //opcion
  22.                         if(name.equals("habilitaOpcion"))
  23.                         {
  24.                             RadioOpcion = pp.getStringValue();
  25.                             if (RadioOpcion.equals("opcion"))
  26.                             {
  27.                                 if(name.equals("opcion"))
  28.                                 {
  29.                                     opcion = pp.getStringValue();
  30.                                 }
  31.                             }
  32.                             else
  33.                             {
  34.                                 if(name.equals("text"))
  35.                                 {
  36.                                     opcion = pp.getStringValue();
  37.                                 }
  38.                             }
  39.                         }
  40.                         //nombre del proceso
  41.                         if(name.equals("selectp"))
  42.                         {
  43.                             RadioProceso = pp.getStringValue();
  44.                             if(RadioProceso.equals("selectp"))
  45.                             {
  46.                                 if(name.equals("pselect"))
  47.                                 {
  48.                                     NombreProceso = pp.getStringValue();
  49.                                 }
  50.                             }
  51.                             else
  52.                             {
  53.                                 if(name.equals("textp"))
  54.                                 {
  55.                                     NombreProceso = pp.getStringValue();
  56.                                 }
  57.                             }
  58.                         }
  59.                         //numero de paso
  60.                         if(name.equals("paso"))
  61.                         {
  62.                             paso = pp.getStringValue();
  63.                         }
  64.                         //descripcion de paso
  65.                         if(name.equals("descpaso"))
  66.                         {
  67.                             DescripcionPaso = pp.getStringValue();
  68.                         }
  69.                     }
  70.                 }
  71.                 else
  72.                 {
  73.                     if(part.isFile())
  74.                     {
  75.                         FilePart fp = (FilePart) part;
  76.                         NombreImagen = fp.getFileName();
  77.                        
  78.                         if(NombreImagen != null)
  79.                         {
  80.                             imagen = "S";
  81.                             directorio = "C:/Program Files/apache-tomcat-7.0.54/webapps/ROOT/PortalSAC/"+item+"/"+
  82.                                          menu2+"/"+opcion;
  83.                             destino = directorio+"/"+NombreImagen;
  84.                             llamado = "../PortalSAC/"+item+"/"+menu2+"/"+opcion+"/"+NombreImagen;
  85.                             File dir = new File(directorio);
  86.                             fp.writeTo(dir);
  87.                         }
  88.                         else
  89.                         {
  90.                             NombreImagen = "N/A";
  91.                             imagen = "N";
  92.                             destino = "N/A";
  93.                             llamado = "N/A";
  94.                         }
  95.                     }
  96.                 }
  97.             }
  98.         }

soy muy nuevo con estos temas asi que les pido piedad, esto lo trabajo con java y tomcat por cierto.

saludos y gracias