Foros del Web » Programación para mayores de 30 ;) » Java »

Problema subiendo archivos

Estas en el tema de Problema subiendo archivos en el foro de Java en Foros del Web. Tengo este codigo que intenta recibir los archivos que se envian en el form en mi controlador de Spring @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver ...
  #1 (permalink)  
Antiguo 12/04/2012, 10:49
Avatar de HiToGoRoShi  
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 16 años, 7 meses
Puntos: 31
Problema subiendo archivos

Tengo este codigo que intenta recibir los archivos que se envian en el form en mi controlador de Spring

Código Javascript:
Ver original
  1. @RequestMapping(value = "inicio/portada.html")
  2.     public @ResponseBody
  3.     String cambiarPortada(HttpServletRequest request) throws IOException{
  4.         HttpSession session = request.getSession();
  5.        
  6.         String error = "abc";
  7.        
  8.         try{
  9.             FileItemFactory ff = new DiskFileItemFactory();
  10.             ServletFileUpload sfu = new ServletFileUpload(ff);            
  11.             List items = sfu.parseRequest(request);
  12.            
  13.             error = String.valueOf(items.size());
  14.            
  15.             for(int i=0;i<items.size();i++){
  16.                 /*FileItem representa un archivo en memoria que puede ser pasado al disco duro*/
  17.                 FileItem item = (FileItem) items.get(i);
  18.                 if (! item.isFormField()){
  19.                     /*GUARDAMOS EL FICHERO*/
  20.                     item.write(new File("x://"+item.getName()));
  21.                     System.out.print("Nombre --> " + item.getName() );
  22.                     System.out.print("<br> Tipo --> " + item.getContentType());
  23.                     System.out.print("<br> tamaño --> " + (item.getSize()/1240)+ "KB");
  24.                     System.out.print("<br>");
  25.                 }
  26.             }
  27.         }catch(Exception e){
  28.             error = e.getMessage();
  29.         }
  30.        
  31.         return error;
  32.     }

Y luego este que es el JSP, que manda el formulario .. nose que hago mal
Código HTML:
Ver original
  1. <form id="frmPortada" action="inicio/portada.html" method="POST" enctype="multipart/form-data" >
  2.         <label>Adjuntar imagen de portada</label>
  3.         <input type="file" name="file" />
  4.     </form>

El problema esta, que cuando le hago un items.size(); siempre retorna 0, nose xq
  #2 (permalink)  
Antiguo 12/04/2012, 11:19
 
Fecha de Ingreso: abril-2012
Mensajes: 33
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: Problema subiendo archivos

Yo uso este codigo, derrepente te sirva.

En mi JSP:

Código HTML:
Ver original
  1. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  2.  
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  4.   "http://www.w3.org/TR/html4/loose.dtd">
  5. <link href="CSS/template.css" rel="stylesheet" type="text/css" />
  6.     <head>
  7.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8.  
  9.     </head>
  10.     <body>
  11.  
  12.         <form method="post" action="probando_despues.aspx" name="upform" enctype="multipart/form-data" class="m">
  13.  
  14.             <input type="file" name="uploadfile" id="uploadfile" style="width:300px">
  15.                         <input type="hidden" name="todo" value="upload" />
  16.                         <input type="submit" value="Iniciar Subida">
  17.  
  18.         </form>
  19.    
  20.     </body>
  21. </html>

En mi Servlet:

Código Javascript:
Ver original
  1. <%@page language="java" import="javazoom.upload.*" %>
  2. <%@page language="java" import="jdbc.*" %>
  3. <%@page language="java" import="java.util.Vector" %>
  4. <%@page language="java" import="java.util.*" %>
  5. <%@page errorPage="Error.aspx" %>
  6. <link href="CSS/template.css" rel="stylesheet" type="text/css" />
  7. <%
  8.     String direccion = "F:/Proyectos/Pagina Web Siscon.com/Siscon/web/documentos/";
  9.     request.getServletContext().getRealPath("siscon/");
  10. %>
  11.  
  12. <jsp:useBean id="upBean" scope="page" class="javazoom.upload.UploadBean" >
  13.     <jsp:setProperty name="upBean" property="folderstore" value="<%= direccion%>" />
  14.     <jsp:setProperty name="upBean" property="whitelist" value="*.docx,*.doc,*.pdf,*.txt,*.xlsx,*.xls,*.rar,*.zip" />
  15.     <jsp:setProperty name="upBean" property="overwritepolicy" value="nametimestamp"/>
  16. </jsp:useBean>
  17.                 <%
  18.                 if (MultipartFormDataRequest.isMultipartFormData(request)) {
  19.                      MultipartFormDataRequest mrequest = new MultipartFormDataRequest(request);
  20.                      String todo = null;
  21.                      if (mrequest != null) {
  22.                         todo = mrequest.getParameter("todo");
  23.  
  24.                      }
  25.  
  26.                      if ((todo != null) && (todo.equalsIgnoreCase("upload"))) {
  27.                         Hashtable files = mrequest.getFiles();
  28.                         if ((files != null) && (!files.isEmpty())) {
  29.                            java.text.SimpleDateFormat formato = new java.text.SimpleDateFormat("yyMMddHHmmss");
  30.                            String archivo = ((UploadFile) mrequest.getFiles().get("uploadfile")).getFileName();
  31.                            int posicionPunto = archivo.indexOf(".");
  32.                            String nombreImagen = archivo.substring(0, posicionPunto);
  33.                            String extension = archivo.substring(posicionPunto);
  34.                            nombreImagen = nombreImagen + formato.format(new java.util.Date());
  35.                            nombreImagen = nombreImagen + extension;
  36.                            ((UploadFile) mrequest.getFiles().get("uploadfile")).setFileName(nombreImagen);
  37.                            UploadFile file = (UploadFile) files.get("uploadfile");
  38.  
  39.                            if (file != null) {
  40.                             out.println("El archivo: " + file.getFileName() + " se Adjunto Correctamente <img src='imagenes/descarga.jpg'/>");
  41.  
  42.                             String filebdname = "documentos/" + file.getFileName() ;
  43.                             String inserta="insert into documento(DocumentoURL)"
  44.                                             + " values('"+filebdname+"');";
  45.                             Sql.ejecuta(inserta);
  46.  
  47.                            }
  48.                            upBean.store(mrequest, "uploadfile");
  49.  
  50.                           }
  51.                         else {
  52.                             out.println("Archivos no subidos");
  53.                         }
  54.                      }
  55.                      else {
  56.                        out.println("<BR> todo=" + todo);
  57.                      }
  58.                 }
  59.                 %>


Espero te sirva

Etiquetas: formulario, jsp, string, subiendo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:36.