Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    3

    Servlet di Upload e ProgressBar

    Salve gente,
    tramite degli esempi su internet sono riuscito a creare la mia servlet con relativa pagina JSP per l'upload di file. Vorrei sapere se fosse possibile includere una progress bar nella pagina di upload che mi indichi sullo stato della transazione.
    Vi allego il mio codice:
    SERVLET:
    codice:
    import com.oreilly.servlet.*;
    
    //~--- JDK imports ------------------------------------------------------------
    
    import java.io.*;
    
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    public class ControllerFiles extends HttpServlet
        {
        public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
            {
            // Istanziamo le variabili
            // Il ServletContext sevirà per ricavare il MIME type del file uploadato
            ServletContext context = getServletContext();
            String         forw    = null;
    
            try
              {
                // Stabiliamo la grandezza massima del file che vogliamo uploadare
                int              maxUploadSize = 100000000;
                MultipartRequest multi         = new MultipartRequest(request, ".", maxUploadSize);
                String           descrizione   = multi.getParameter("text");
                File             myFile        = multi.getFile("myFile");
                String           filePath      = multi.getOriginalFileName("myFile");
                String           path          = "C:\\files\\";
    
                try
                  {
                    // ricaviamo i dati del file mediante un InputStream
                    FileInputStream inStream = new FileInputStream(myFile);
    
                    // stabiliamo dove andrà scritto il file
                    FileOutputStream outStream = new FileOutputStream(path + myFile.getName());
    
                    // salviamo il file nel percorso specificato
                    while (inStream.available() > 0)
                        {
                        outStream.write(inStream.read());
                        }
    
                    // chiudiamo gli stream
                    inStream.close();
                    outStream.close();
                  }
                catch (FileNotFoundException fnfe)
                  {
                    fnfe.printStackTrace();
                  }
                catch (IOException ioe)
                  {
                    ioe.printStackTrace();
                  }
    
                forw = "/done.jsp";
    
                // mettiamo nella request i dati così da poterli ricavare dalla jsp
                request.setAttribute("contentType", context.getMimeType(path + myFile.getName()));
                request.setAttribute("text", descrizione);
                request.setAttribute("path", path + myFile.getName());
                request.setAttribute("size", Long.toString(myFile.length()) + " Bytes");
    
                RequestDispatcher rd = request.getRequestDispatcher(forw);
    
                rd.forward(request, response);
              }
            catch (Exception e)
              {
                e.printStackTrace();
              }
            }
        }
    Pagina JSP
    codice:
    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
       
        
        <title>My JSP 'index.jsp' starting page</title>
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
      </head>
      
     <form align="center" method="POST" action="ControllerFiles" enctype="multipart/form-data">
        <table align="center" border="2" style="border-collapse: collapse">
            <tr>
                <td align="center"><font size="4" color="yellow">Descrizione</font></td>
                <td colspan="2">
                        <textarea name="text" cols="33" rows="2"></textarea>
                </td>
            </tr>
            <tr>
                <td align="center">File</td>
                <td>
                        <input name="myFile" type="file">
                </td>
                <td align="center">
                        <input type="submit" name="salva" value="SALVA">
                </td>
            </tr>
        </table>
    </form>
     
     
    </html>
    WEB.XML DI TOMCAT
    codice:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
    
    
    
     <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
     </welcome-file-list>
    
       <servlet>
        <servlet-name>ControllerFiles</servlet-name>
        <servlet-class>ControllerFiles</servlet-class>
      </servlet>
       <servlet-mapping>
        <servlet-name>ControllerFiles</servlet-name>
        <url-pattern>/ControllerFiles</url-pattern>
      </servlet-mapping>
    
    </web-app>

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Credo che si possa realizzare con javascript. In giro ne ho viste parecchie.

    Credo che il funzionamento consista nel incrementare il "livello" all'aumentare degli elementi html caricati...
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    3
    Originariamente inviato da Pastore12
    Credo che si possa realizzare con javascript. In giro ne ho viste parecchie.

    Credo che il funzionamento consista nel incrementare il "livello" all'aumentare degli elementi html caricati...
    Grazie per la dritta, il problema nasce su come integrare gli script Javascript dell'upload nella mia pagina JSP

  4. #4
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Beh.. devi inserire il javascript come se si trattasse di una comune pagina html.. devi solo tener conto del fatto che il javascript "parte" quando la pagina jsp è già stata "trasformata" in puro html...

    Non credo di esser stato chiaro.. però... scappo! Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.