IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Servlet gestionnaire de fichiers


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut Servlet gestionnaire de fichiers
    Bonjour,

    Je souhaite créer une servlet qui s'occuperait de distribuer des fichiers stockés sur le serveur Tomcat.
    -> URL vers une servlet et pas un fichier directement -> controle
    -> Log des téléchargements faits dans des tables SQL


    Elle fonctionne sous firefox mais il y a un problème avec IE(7):

    - Avec un .DOC
    La boite "Téléchargement de fichiers" apparaît,
    Ouvrir le fichier fonctionne.

    Enregistrer sous ne fonctionne pas:
    Un message apparaît "Internet explorer ne peut pas télécharger [nom servlet] de localhost.

    Internet explorer n'a pas pu ouvrir ce site internet. le site requis n'est pas disponible ou n'a pas pu être trouvé. réessayer ultérieurement.


    - Avec un .EXE, ce même message apparaît directement.

    Voici la fonction de téléchargement de la servlet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    private void doDownload( HttpServletRequest req, HttpServletResponse resp, String filename ) throws Exception
    	{ 
    		resp.setContentType("application/octet-stream");
    		File f = new File(filename);
    		String disp = "attachment; filename="+ f.getName();
                             resp.setHeader("Content-Disposition", disp);  
     
    		int length = (int)f.length(); 		   resp.setContentLength(length);
     
    		OutputStream os = null;
    		InputStream is = null; 
     
    		try
    		{
    		      os = resp.getOutputStream();
    		      FileInputStream stream = new FileInputStream(f);
    		      BufferedInputStream  bis = new BufferedInputStream(stream);
    		      is = new BufferedInputStream(bis);
    		      int count;
    		      byte buf[] = new byte[4096];
    		      while ((count = is.read(buf)) > -1)
    		      {
    		          os.write(buf, 0, count);
    		      }
    		}
    		catch (Exception ex)
    		{ 
    		   throw ex;
    		}
    		finally
    		{ 
    			if(is!=null)
    				is.close(); 
     
    			if(os!=null)
    			{
    				os.flush();
    				os.close();
    			}
    		}
    	}
    Savez-vous ce qui n'est pas correct?
    Merci.

  2. #2
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    Au fait, même problème avec l'exemple de la FAQ EE...

    Personne d'autre n'a le pb???

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    J'ai trouvé ce qui n'allait pas:

    J'avais une contrainte de sécurité sur la servlet DownloadManager:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <security-constraint>
    						    <web-resource-collection>
    						      <web-resource-name>DownloadManager</web-resource-name>
    						      <url-pattern>/DownloadManager</url-pattern>
    						    </web-resource-collection>
    						    <auth-constraint>
    						       <role-name>as</role-name> 
    						    </auth-constraint>
    						 </security-constraint>
    Et c'est à cause de ça que ça ne fonctione pas sous IE!

  4. #4
    Membre émérite Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Par défaut
    Non le fichier web.xml indique des opérations au conteneur de servlet mais pas aux browsers clients.

    Mais autrement pour ton problème j'arrive pas trop t'aider désolé

  5. #5
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    Oui, donc si je mets dans le web.xml qqchose pour dire
    "sur la servlet DownloadManager, seuls les personnes / membres du groupe yyy sont autorisées"

    Et qu'on fait appel à la servlet directement
    --> Ex:
    http://localhost:8080/monapp/DownloadManager

    alors une fenêtre d'authentification apparaît, puis si l'authentification est ok, alors seulement commence le téléchargement.

    Je suppose qu'il y a une erreur dans la communication entre tomcat et IE dans ce cas particulier (et pas sous firefox).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Servlet] Probléme écriture fichier
    Par hedgehog dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/05/2005, 15h17
  2. [Servlet] Créer un fichier sur un poste distant
    Par JohnBlatt dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 07/05/2005, 18h51
  3. Gestionnaire de fichier
    Par Mr_Chut dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 29/04/2005, 15h49
  4. [Tomcat][Servlet] Chargement de fichier
    Par hedgehog dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 28/04/2005, 10h23
  5. [debutant][servlet] Lire un fichier
    Par Ruffi dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 14/04/2005, 20h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo